c语言清空数组
时间: 2023-09-12 18:12:54 浏览: 152
在 C 语言中,可以使用循环语句逐个遍历数组元素并将其赋值为零来清空数组,也可以使用库函数 memset() 来实现。以下是两种方法的示例代码:
1. 使用循环语句清空数组
```c
int arr[10]; // 定义一个长度为 10 的数组
int i;
// 使用循环语句将数组元素赋值为零
for (i = 0; i < 10; i++) {
arr[i] = 0;
}
```
2. 使用 memset() 函数清空数组
```c
int arr[10]; // 定义一个长度为 10 的数组
// 使用 memset() 函数将数组元素赋值为零
memset(arr, 0, sizeof(arr));
```
注意,使用 memset() 函数清空数组时,需要包含头文件 string.h。同时,memset() 函数的第一个参数是要清空的数组名,第二个参数是要赋的值,通常是零,第三个参数是数组的大小,可以使用 sizeof() 函数获取。
相关问题
c语言清空结构体数组
在C语言中,可以使用memset函数来清空结构体数组。memset函数可以将一块内存区域的值设置为指定的值,通常用于对数组或结构体进行初始化。
下面是一个示例代码,演示如何使用memset函数清空结构体数组:
```c
#include <stdio.h>
#include <string.h>
typedef struct {
int id;
char name[20];
} Student;
int main() {
Student students[5];
// 使用memset函数清空结构体数组
memset(students, 0, sizeof(students));
// 打印清空后的结构体数组
for (int i = 0; i < 5; i++) {
printf("Student %d: id = %d, name = %s\n", i+1, students[i].id, students[i].name);
}
return 0;
}
```
运行以上代码,将会输出清空后的结构体数组:
```
Student 1: id = 0, name =
Student 2: id = 0, name =
Student 3: id = 0, name =
Student 4: id = 0, name =
Student 5: id = 0, name =
```
这样就清空了结构体数组中的所有元素。
C语言清空字符数组
在C语言中,有多种方法可以清空字符数组。下面介绍两种常见的方法:
1. 使用memset函数
可以使用C标准库中的memset函数来清空一个字符数组。memset函数的原型如下:
```c
void *memset(void *s, int c, size_t n);
```
其中,s是指向要清空的数组的指针;c是要用来填充数组的值;n是要清空的字节数。
如果要清空一个字符数组,可以将c设置为0,将n设置为数组的大小,即:
```c
char arr[10];
memset(arr, 0, sizeof(arr));
```
这段代码会将arr数组中的所有元素都设置为0。
2. 使用循环语句
另一种方法是使用循环语句逐个遍历数组中的元素,并将其设置为0。例如:
```c
char arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = 0;
}
```
这段代码也会将arr数组中的所有元素都设置为0。
需要注意的是,使用memset函数可以更快速地清空一个数组,因为它是通过使用底层的内存拷贝操作来实现的。而使用循环语句则需要逐个遍历数组中的元素,效率会稍低一些。