c语言中三维数组怎样初始化为0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中三维数组怎样初始化为0相关的知识,希望对你有一定的参考价值。

如a[10][10][10]=0可以全部初始化为0吗?

    memset(void*p,int ch,size_t n)函数功能:以指针p指向的内存空间为起始,将其后n个字节的空间全部赋值为ch.该函数头文件为<string.h>或<memory.h>


    使用该函数初始化数组为0

#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]);

    运行结果


参考技术A 可以,当初始化器中的值少于元素数量时,剩余部分元素值都被初始化为0本回答被提问者采纳 参考技术B 调试一下不就知道了。
我试过了,可以的。
从理论上讲,a[10][10][10]=x将x赋值给a[0][0][0](此处x=0),其他元素电脑将随着这个语句被赋值0
参考技术C #include "Windows.h"
void main()

int a[3][10][10];
ZeroMemory(a,sizeof(int)*300);

我在VS2005下运行的
或者在定义的时候进行,如int a[3][10][10] = 0;即可
参考技术D 数组可以初始化
用一个简单的测试程序就可以明白了
#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]);

以上是关于c语言中三维数组怎样初始化为0的主要内容,如果未能解决你的问题,请参考以下文章

C语言数组为啥按行优先存储

C语言中怎么把一维数组初始化都为0,

c语言中怎么把一维数组初始化为全零啊,不用循环

java 三维矩阵

C语言数组初始化的问题?为啥我初始化了,数组长度还为0啊,如图

C语言中怎样将一个字符数组里面的所有元素变成一个字符串