C语言中,数组在内存中占一片连续的存储区,由什么来代替它的首地址?

C语言里,数组名就是首地址,直接用就好。
比如charc[1 0],c就是首地址。
用scanf或printf时,直接写c,不用加&符号。
数组元素是变量,用下标访问,比如c[0]就是第一个元素。
定义了数组才能用,C语言不支持一次性引用整个数组。
简单说,就是数组名直接用,元素用下标访问。

c语言中的arry是什么

记得刚学C语言那会儿,老师让我们写个程序记录一周的温度。
我写了个数组,代码写完运行,突然发现星期八的温度怎么是-2 7 3 .1 5 度?回去查了半天,原来我数组大小写错了,只开了7 个空间,访问第八个的时候,系统就给我返回了个随机值。

数组这东西吧,就像一排整齐的抽屉,每个抽屉大小一样,放的东西也必须一样。
你要想拿第三个抽屉的东西,就得从第一个开始数,不能直接跳过去。
上次我帮同事调试代码,他那个数组越界问题,最后发现是他忘了数组是从0开始计数的,结果访问了不存在的“第九个抽屉”。

等会儿,我刚才看那个字符串处理的部分,说字符数组以0结尾。
这个0可不是温度计上的零度,而是ASCII码里的空字符,就像乐谱里的休止符,表示这里结束一下。
上次我用printf打印一个字符串,忘了字符串后面自动加的那个0,结果只打印了前半截,屏幕上就剩“Hello”,后面的话都没了,挺逗的。

多维数组那个例子,int matrix[2 ][3 ],表示两行三列。
这就像两排座位,每排三个座位。
上次我去电影院,发现座位号就是按这个来的,第一排A座B座C座,第二排D座E座F座。
不过我有个疑问,如果我把matrix[1 ][2 ]改成matrix[2 ][3 ],会发生什么?编译器会给我个错误提示吗?还是说,它默认把matrix[2 ][3 ]当成matrix[0][3 ],把那个不存在的座位也打印出来?