【C语言】数组 & 二维数组

定义

// 定义长度为 10 的数组 arr,其中的元素的类型只能是 int
// 对数组不赋值,里面会是随机的数据(栈结构)
int arr[10];

取值

// 取出索引 0 位置的元素
arr[0];

赋值

// 索引为 5 的位置,赋值 101010
arr[5] = 101010;

数组初始化

// 将数组中的所有值初始化为 0 
int arr[5] = {0};

// 数组元素赋予不同的值
int arr[5] = {0, 1, 2, 3, 4};

// 只给一部分元素赋值,其余会默认为 0
int arr[5] = {0, 1, 2};

// C99 特性,对指定索引赋值,其余未被指定的默认 0 
int arr[5] = {[0]= 0, [2]= 5};

// 直接指定元素,可以不定义数组的长度
int arr[] = {0, 1, 2, 3};

二维数组

数组内嵌套数组

二维数组定义

int arr[3][5]; // 不进行初始化,数组内就是随机的值
int arr[][5];  // 第一个可以不定义(编译期会自动推算),第二个必须写

二维数组取值

// 取出索引 0 位置下的 索引为 0 的元素
arr[0][0];

二维数组赋值

// 给索引 2 下的 索引 3 赋值为 55
arr[2][3] = 55;

二维数组初始化

// 全部赋值
arr[2][3] = {1, 2, 3, 4, 5, 6}; // 不推荐这样写
arr[2][3] = {
        {1, 2, 3}, 
        {4, 5, 6}
    }; // 推荐写法

// 部分赋值
arr[2][3] = {
        {1, 2}, 
        {4, 5}
    }; // 没有赋值的位置 默认为 0

// 指定位置赋值
arr[2][3] = {
        {[0][0]= 1, [0][1]= 2}, 
        {4, 5, 6}
    };
发表评论 / Comment

用心评论~