您的位置 首页 知识

c语言数组初始化(c语言数组定义和赋值)

c语言一维数组一定要初始化吗?

是的,C语言一维数组使用前一定要初始化,保证数组里面的所有元素都有正确的初始值。C语言中的数组或者变量,编译器都不负责其初始值的定义,编程人员必须人为进行定义,如果使用未经初始赋值的变量会引发难以预料的后果,未经初始化的数组空间的值是完全随机不可预测的。希望以上回答可以帮助到您。

c语言数组定义和赋值?

二维数组定义的一般形式是:dataType arrayName[length1][length2];其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标的长度。

我们可以将二维数组看做一个 Excel 表格,有行有列,length1 表示行数,length2 表示列数,要在二维数组中定位某个元素,必须同时指明行和列。例如:int a[3][4];定义了一个 3 行 4 列的二维数组,共有 3×4=12 个元素,数组名为 a,即:a[0][0], a[0][1], a[0][2], a[0][3]

a[1][0], a[1][1], a[1][2], a[1][3]

a[2][0], a[2][1], a[2][2], a[2][3]

如果想表示第 2 行第 1 列的元素,应该写作 a[2][1]。

也可以将二维数组看成一个坐标系,有 x 轴和 y 轴,要想在一个平面中确定一个点,必须同时知道 x 轴和 y 轴。

C语言简单习题:以下能对一维数组a进行正确初始化的语句是。。。

  • 以下能对一维数组a进行正确初始化的语句是 A、itn a[10]=(0,0,0,0,0) B、in甫揣颠废郯肚奠莎订极t a[10]={ }; C、int a[ ]={0}; D、int a[10]=10*1;选什么?为什么?
  • c……..a int 写错b 花括号里不能空d 显然错

C语言:用int a[4]=(1,2);对数组进行初始化后,数组元素a[3]的值是

  • C语言:用int a[4]=(1,2);对数组进行初始化后,数组元素a[3]的值是A。随机值 B,0 C,1 D,F问题补充: 为啥选B,求大神解释
  • 0,好像数组没有初始化的话默认是0,指针指的是随机的

C语言 特殊字符怎么初始化到数组中啊

  • #include stdio.h#include stdlib.h {char a[2];a[0]=┌;system("pause");}结果出现报错 warning C4305: = : truncation from const int to char
  • 直接等于他的ASCII值就行了

C语言数组初始化问题

  • memset(a, 0, sizeof(a))和a[10000]={0} 这两个语句初始化数组有什么区别?
  • 就作用来说,没什么区别就意义来说,根本不能相提并论

关于字符数组在C语言中正确初始化的问题 请大神详细解释 谢谢了 虚心求教

  • ①若 char ch[5]={‘a’,b,c,d,e} 初始化5个字符串常量师傅合法 ch[4]单元是否要补上 ‘0’ ②若 char ch[5]={"abcde"} 是否合法 ch[4]上要补上‘0’么③har ch[6]={‘a’,b,c,d,e} 与 char ch[6]={"abcde"} 区别在哪里?
  • 合法,至于是否要添‘0’,需根据这个数组的用途而定。如果你要把这个数组当做字符串使用,特别是用标准库函数处理时,应该在末尾添0。‘0’的作用在于标志字串结尾,以便省去记录数组长度。非法,ch长度为5,但”abcde“包含6个字符(末尾的0)。前者的结果是ch[0]~ch[4]被初始化为‘a’~‘e’,ch[5]没有被初始化。后者则是在前者的基础上多了ch[5] = 0。

C语言结构体数组的初始化

  • typedef struct List{char name[32];struct List *next;int time;int priority;int state;}*Node;List Creat(char name[],int priority,int time){List pr;strcpy_s(pr.name,name);pr.priority=priority; pr.time=time;pr.state=0;pr.next=NULL;return pr;}List pr1=Creat("p1",2,1);Insert(&pr1);以上是主要代码,我调试到List pr1=Creat("p1",2,1);的时候,出现了“烫”字,不知道是哪里出错了,求大神!
  • 定义成struct List *试试呢?struct List* Creat(char name[],int priority,int time){struct List *pr;pr = (struct List*)malloc(sizeof(struct List));strcpy_s(pr-name,name);pr-priority=priority; pr-time=time;pr-state=0;pr-next=NULL;return pr;}

c语言 怎么把一个二维数组初始化为空

  • #includestdio.h#includestdlib.hint main(void){ char q[3][3]={0}; q[0][1]=c; q[0][2]=b; for(int i=0; i=2; i++) { for(int j=0; j=2; j++) { printf("%c",q[i][j]); } printf("n"); } system("pause"); return 0;}输出结果是:abcaaaaaa还有有什么办法能把二维数组一下都输出吗?或者一行一行的输出
  • main(){char q[3][4]={"abc","def","ghi"};printf("%sn",q);printf("%sn",q[2]);printf("%cn",q[1][2]);getch();}

C语言二维数组怎么初始化?

  • 帮我改正一下这个二位数组的初始化,但不要改动数据。Scorecard[25][25]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,3,3,3,3,3,3,3,3,3,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,4,4,4,4,4,4,4,4,4,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,5,5,5,5,5,5,4,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,6,6,6,6,5,4,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,7,7,6,5,4,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,7,6,5,4,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,7,7,6,5,4,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,6,6,6,6,5,4,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,5,5,5,5,5,5,4,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,4,4,4,4,4,4,4,4,4,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,3,3,3,3,3,3,3,3,3,3,3,2,1,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,肌筏冠禾攉鼓圭态氦卡0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
  • 去掉回括号前面的逗号

C语言,字符数组初始化时如果不输入数组长度,用strlen测出来的长度错误,请问是为什么?

  • 第一张图输出的是4,第二张图输出的却是7
  • 枫林黑玛酒多

C语言 数组变量初始化错误?

  • 我看人家教程里这样写编译没毛病 const int NUMBER=10; int primes[NUMBER]={2};然而自己写的时候就会报一个Error:[Error] variable-sized object may not be initialized然后我改成这样就没事了: const int NUMBER=10; int primes[10]={2};这是为什么??
  • 这不是C++吗。