c语言数组初始化为0
⑴ c语言中怎么把一维数组初始化为全零啊,不用循环
下面3种方法:
1.int arr[10]={0};
如果只对数组的一部分进行初始化,则编译器将把其他元素设置为0。因此,当只将第一个元素初始化为0时,编译器会自动将其他元素设为0 (就像前一句说的那样)。
2.int arr[31]={};
3.用memset函数在程序开始时初始化数组。比如:
int arr[1024];
memset(arr, 0, 1024); //清零
(1)c语言数组初始化为0扩展阅读:
memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度。
函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 ,它通常为新申请的内存做初始化工作。
⑵ c语言 怎么把一个二维数组初始化为空
利用给数组赋值时未赋值部分C系统自动赋值为0是一种方法。
还可以利用memset()函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在string.h和mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为:
void *memset(void*,int,unsigned);
其中void*表示起始地址,int 表示要填充的值,最后的unsigned表示填充的字节数。
例如:
#include<string.h>
void main()
{
int a[10][20]={0}; //方法一,所有初始化为0
int *p[10][20]={NULL};
char c[10][20]={'\0'};
double b[50][200]};
memset(b,0,sizeof(b)); //方法二,所有初始化为0
}
⑶ C语言中怎么把一维数组初始化都为0,
1、首先,需要定义数组,数组常用类型有int型,float浮点型,char字符型等,输入即可定义。
⑷ c语言中三维数组怎样初始化为0
memset(void*p,int ch,size_t n)函数功能:以指针p指向的内存空间为起始,将其后n个字节的空间全部赋值为ch.该函数头文件为<string.h>或<memory.h>
使用该函数初始化数组为0
#include<stdio.h>
#include<string.h>
voidmain()
{
inta[2][3][4];
a[1][2][3]=1;
memset(a,0x00,sizeof(a));
/*测试是否初始化为0*/
printf("a[1][2][3]=%d ",a[1][2][3]);
}
运行结果
⑸ c语言中怎么把一维数组初始化为全零啊,不用循环
具体初始化方法可以参考如下程序段:(方法一)
int a[5] = {0}; // 将整型数组a的每个元素都初始化为0
或者也可以用如下方法进行初始化:(方法二)
int a[5] = {0, 0, 0, 0, 0}; // 将整型数组a的每个元素都初始化为0,初始化效果同上
方法一的初始化方法是将数组元素都初始化为同一个数值;
方法二的初始化方法可以分别对数组的每个元素进行初始化,每个元素的数值可以不同。