#include// 数组的定义和存储void test1() { int ages[5]; // 64bit环境下占用4*5=20个字节 // 计算数组占据的存储空间 // size_t size = sizeof(ages); //printf("ages占据的字节:%d", size); // 查看数组的地址 // 第1种方式: //printf("%d\n", &ages[0]); // 第2种方式: //printf("%d", ages); // 数组名代表的就是数组的地址,也就是第0个元素的地址 // ages == &ages[0] // ages是一个常量 // 查看每一个数组元素的地址 int i; for (i =0; i < 5; i++) { printf("ages[%d]的地址:%d\n", i, &ages[i]); }}// 数组的初始化void test2() { int a[2] = { 8, 10}; int b[2]; b[0] = 8; b[1] = 10; b[10];}void test3(int array[]) { array[0] = 9;}// 测试数组作为函数参数void test4() { int a[5] = { 10}; // a[0] = 10; printf("调用函数之前的a[0]=%d\n", a[0]); test3(a); printf("调用函数之后的a[0]=%d\n", a[0]); }// 二维数组的定义和存储void test5() { int a[2][3]; // 由a[0]和a[1]组成 printf("数组的地址1:%d\n", a); printf("数组的地址2:%d\n", &a[0][0]); // a[0]也是个数组,所以a[0]就是数组名,就是代表着这个数组的地址 printf("数组的地址3:%d\n", a[0]); printf("%d", &a[1][0]);}// 二维数组的初始化void test6() { int a[2][3] = { { 1, 2, 3}, { 4, 5, 6}}; int b[2][3] = { 1, 2, 3, 4}; int c[][4] = { 1, 2, 3, 4, 5}; // a[0][0] = 1; a[0][1] = 2; a[0][2] = 3; // a[1][0] = 4; a[1][1] = 5;}int main(int argc, const char * argv[]){ return 0;}