1.int ages[3] = {10, 18, 24};
2.int ages[3] = {10, 20}; // 此时,ages[2]默认为0;
3.int ages[3] = {[1] = 10, [2] = 20}; // 值对后面的两个值进行赋值
4.int ages[] = {10, 13, 23}; // ages占用的字节数为12字节(4字节*3)
5.int ages[‘A‘ - 60] = {10, 12, 15, 23, 31, }; // 字符常量A相当于65;
6.int count = 5;
int ages[count];
ages[0] = 10;
ages[1] = 12;
ages[2] = 23; // 此时没有对ages[3]、ages[4]进行初始化,但是默认的值并不是为0,为一些随机数;
1.int ages []; // 不明白到时分多少存储空间给数组ages;
2.int ages[5];
ages = {10, 13, 16, 23, 25}; // 不允许这样赋值,这样一次性赋值时,只能在定义数组的同时同时进行初始化
3.int count = 5;
int ages[count] = {10, 15, 23, 26, 24}; // 如果想在定义数组同时进行初始化,数组元素个数必须是常量或者不写!!!
int ages[3] = {10, 20, 30};
printf("%p\n", ages); // %p :输出地址
// ages:数组名就是数组的地址,也是第一个元素的地址,也可以写成&ages,但是多此一举
for (int i = 0; i < 3; i++)
{
printf("ages[%d]的地址为:%p\n", i, &ages[i]);
}
原文:http://www.cnblogs.com/unique-ios/p/4268931.html