黑马程序员技术交流社区
标题:
一维数组让人疑惑的问题
[打印本页]
作者:
勇猛的小黑
时间:
2015-11-12 22:10
标题:
一维数组让人疑惑的问题
①如果数组都没有初始化,到底有没有值?
答:有值,全是不确定的垃圾值,
②如果数组进行的部分初始化。
int a[10] = {1};//未初始化部分自动初始化为0
int b[10] = {2.3f};//未初始化部分自动初始化为0
char ch[10] = {'a','b','c'}//未初始化部分元素的ASCII码被自动初始化为0了。
那么没有初始化的那部分的元素也自动被系统初始化为0
特别强调:使用先定义后初始化的方式,系统就不会自动给没有初始化的元素赋0了。
强调:数组名 代表数组的首地址。eg: printf("%p",a);这里的a不用加地址获取符号&
但是数组中某一个值得地址就要加地址获取符号& eg: printf("%p",a[0]);
数组里边各个值得地址是连续的。
知道数组的首地址,怎么计算数组第n个元素的地址。
公式
int a[];
第n个元素的地址 = 首地址+sizeof(int)*n
作者:
cc_2436
时间:
2015-11-12 22:44
顶顶顶顶啊!
作者:
心存猛虎2015
时间:
2015-11-12 22:53
可以 不错
作者:
陈光慧
时间:
2015-11-12 23:29
顶,学习了啊。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2