c语言清空数组
时间: 2023-09-12 12:12:54 浏览: 302
在 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语言中,有多种方法可以清空字符数组。下面介绍两种常见的方法:
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函数可以更快速地清空一个数组,因为它是通过使用底层的内存拷贝操作来实现的。而使用循环语句则需要逐个遍历数组中的元素,效率会稍低一些。
C语言 清空结构体数组
可以使用memset函数将结构体数组清零。memset函数的原型为:
```c
void *memset(void *s, int c, size_t n);
```
其中,s表示要清空的内存地址,c表示要填充的值,n表示要清空的字节数。因为结构体通常比较大,所以需要将要清空的字节数设置为结构体大小乘以数组长度。
例如,假设有一个结构体数组:
```c
struct Person {
char name[20];
int age;
};
struct Person people[10];
```
可以使用memset函数将该数组清零:
```c
memset(&people, 0, sizeof(struct Person) * 10);
```
这样就可以将整个结构体数组清空为0。
阅读全文