c语言中三维数组怎样初始化为0
发布网友
发布时间:2022-04-20 04:56
我来回答
共5个回答
热心网友
时间:2023-08-31 13:02
memset(void*p,int ch,size_t n)函数功能:以指针p指向的内存空间为起始,将其后n个字节的空间全部赋值为ch.该函数头文件为<string.h>或<memory.h>
#include<stdio.h>
#include<string.h>
void main()
{
int a[2][3][4];
a[1][2][3]=1;
memset(a,0x00,sizeof(a));
/*测试是否初始化为0*/
printf("a[1][2][3]=%d\n",a[1][2][3]);
}
热心网友
时间:2023-08-31 13:03
可以,当初始化器中的值少于元素数量时,剩余部分元素值都被初始化为0
热心网友
时间:2023-08-31 13:03
调试一下不就知道了。
我试过了,可以的。
从理论上讲,a[10][10][10]={x}将x赋值给a[0][0][0](此处x=0),其他元素电脑将随着这个语句被赋值0
热心网友
时间:2023-08-31 13:04
#include "Windows.h"
void main()
{
int a[3][10][10];
ZeroMemory(a,sizeof(int)*300);
}
我在VS2005下运行的
或者在定义的时候进行,如int a[3][10][10] = {0};即可
热心网友
时间:2023-08-31 13:05
数组可以初始化
用一个简单的测试程序就可以明白了
#include <stdio.h>
void main()
{
int a[10][10][10]={0};
for(int i=0;i<10;i++)
for(int j=0;j<10;j++)
for(int k=0;k<10;k++)
printf("a[%d][%d][%d]:%d\n",i,j,k,a[i][j][k]);
}