在 c 语言中将数组初始化为 0
本篇文章介绍了如何在 c 语言中将数组初始化为 0。
c 语言中数组的声明如下。
char zeroarray[1024];
它在运行时在全局范围内变成全部为 0。如果它是一个本地数组,有一个简单方法。数组的声明和初始化如下。
char zeroarray[1024] = {0};
如果一个数组被部分初始化,未初始化的元素将收到相关数据类型的值 0
。编译器将用 0 填充未写入的元素。
如果没有指定初始化器,那么具有静态存储的对象将初始化为 0,声明如下。
static int myarray[10];
如果初始化列表为空或者在初始化列表中指定了 0,数组将被初始化为 0。声明如下:
int number[5] = { };
int number[5] = { 0 };
初始化数组最简单的方法是遍历所有元素并将每个元素设置为 0
。
#include int main(void)
{
int numberarray[10], counter;
for(counter = 0 ; counter < 5 ; counter)
{
numberarray[counter] = 0;
}
printf("array elements are:\n");
for(counter=0; counter<5; counter)
{
printf("%d",numberarray[counter]);
}
return 0;
}
输出:
array elements are:
00000
使用 c 的库函数 memset()
函数 memset()
是 string.h
中的一个库函数。它用来用一个特定的值填充一个内存块。
memset()
函数的语法如下。
void *memset(void *pointervariable, int anyvalue, size_t numberofbytes);
其中,
-
pointervariable
是指向要填充的内存块的指针变量。 -
anyvalue
是要设置的值。这是一个整数值,但函数使用这个值的无符号 char 转换来填充内存块。 -
numberofbytes
是要设置的值的字节数。
该函数返回一个指向内存区 pointervariable
的指针。
完整的程序如下。
#include #include void printarrayvalues(int anyarray[], int anynumber)
{
int index;
for (index=0; index<anynumber; index)
printf("%d ", anyarray[index]);
}
int main(void)
{
int number = 10;
int arrayvalues[number];
memset(arrayvalues, 0, number*sizeof(arrayvalues[0]));
printf("array after memset()\n");
printarrayvalues(arrayvalues, number);
return 0;
}
输出:
array after memset()
0 0 0 0 0 0 0 0 0 0
c 语言中初始化数组为 0
以外的值
用 gcc
将一个数组初始化为 0
以外的值,如下所示。
int myarrayvalues[1024] = { [ 0 ... 1023 ] = -1 };
数组中的每个成员都可以通过省略维度来显式初始化。声明如下。
int myarrayvalues[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
编译器将从初始化器列表中推导出维度,对于多维数组,只能省略最外层的维度。
int mypoints[][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9} };
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
在c中将整数转换为字符
发布时间:2024/01/03 浏览次数:131 分类:c语言
-
本教程介绍了在c中将整数转换为字符的不同方法。在c编程语言中,将整数转换为字符在各种情况下都很重要。在c中,字符是以ascii值表示的,因此转换过程相对简单。
发布时间:2023/05/07 浏览次数:364 分类:c语言
-
本文介绍了如何在 c 语言中使用 typedef enum。使用 enum 在 c 语言中定义命名整数常量 enum 关键字定义了一种叫做枚举的特殊类型。
发布时间:2023/05/07 浏览次数:129 分类:c语言
-
本文演示了如何在 c 语言中使用前缀增量与后缀增量运算符。c 语言中 i 和 i 记号的主要区别
发布时间:2023/05/07 浏览次数:275 分类:c语言
-
本文演示了如何在 c 语言中获取当前工作目录。使用 getcwd 函数获取当前工作目录的方法
发布时间:2023/05/07 浏览次数:177 分类:c语言
-
本文介绍了如何在 c 语言中使用位掩码。使用 struct 关键字在 c 语言中定义位掩码数据
发布时间:2023/05/07 浏览次数:212 分类:c语言
-
本文演示了如何在 c 语言中使用标准库排序函数。使用 qsort 函数对 c 语言中的整数数组进行排序
c 语言中的 extern 关键字
发布时间:2023/05/07 浏览次数:131 分类:c语言
-
本文介绍了如何在 c 语言中使用 extern 关键字。c 语言中使用 extern 关键字来声明一个在其他文件中定义的变量