#include <stdio.h> // 数组的定义和存储 void test1() { int ages[5]; // 64bit环境下占用4*5=20个字节 // 计算数组占据的存储空间 // size_t size = sizeof(ages); //printf("ages占据的字节:%d", size); // 查看数组的地址 // 第1种方式: //printf("%d ", &ages[0]); // 第2种方式: //printf("%d", ages); // 数组名代表的就是数组的地址,也就是第0个元素的地址 // ages == &ages[0] // ages是一个常量 // 查看每一个数组元素的地址 int i; for (i =0; i < 5; i++) { printf("ages[%d]的地址:%d ", 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 ", a[0]); test3(a); printf("调用函数之后的a[0]=%d ", a[0]); } // 二维数组的定义和存储 void test5() { int a[2][3]; // 由a[0]和a[1]组成 printf("数组的地址1:%d ", a); printf("数组的地址2:%d ", &a[0][0]); // a[0]也是个数组,所以a[0]就是数组名,就是代表着这个数组的地址 printf("数组的地址3:%d ", 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; }