C语言 数组的使用

#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;
}
原文地址:https://www.cnblogs.com/liuwj/p/6899409.html