匿名数组和不规则数组

(const int) {100}
(int[3]) {10, 20, 30}
//匿名变量
//匿名数组
#include <stdio.h>
#include <stdlib.h>

int main() {
    int* a0 = (int[]) {0, 1, 2, 3};//创建匿名数组,并有a0指向首元素地址
//    int A0[] = {0, 1, 2, 3};
//    int* a0 = A0;

    int* a1 = (int[]) {4, 5};
    int* a2 = (int[]) {6, 7, 8};
    int *arr0[] =
    {
        a0,
        a1,
        a2
    };

    int row = 0;
    for(int i=0; i<4; i++) {
        printf("layer1[%d][%d] Address: %p Value: %d\n",
                row, i, &arr0[row][i], arr0[row][i]);
    }
    printf("\n");

    row = 1;
    for(int i=0; i<2; i++) {
        printf("layer1[%d][%d] Address: %p Value: %d\n",
                row, i, &arr0[row][i], arr0[row][i]);
    }
    printf("\n");

    row = 2;
    for(int i=0; i<3; i++) {
        printf("layer1[%d][%d] Address: %p Value: %d\n",
                row, i, &arr0[row][i], arr0[row][i]);
    }
    printf("\n");

    return 0;
}
#include <stdio.h>
#include <stdlib.h>

int main() {
    int* arr1[] =
    {
        (int[]) {0, 1, 2, 3},//匿名数组
        (int[]) {4, 5},
        (int[]) {6, 7, 8}
    };

    int row = 0;
    for(int i=0; i<4; i++) {
        printf("layer1[%d][%d] Address: %p Value: %d\n",
                row, i, &arr1[row][i], arr1[row][i]);
    }
    printf("\n");

    row = 1;
    for(int i=0; i<2; i++) {
        printf("layer1[%d][%d] Address: %p Value: %d\n",
                row, i, &arr1[row][i], arr1[row][i]);
    }
    printf("\n");

    row = 2;
    for(int i=0; i<3; i++) {
        printf("layer1[%d][%d] Address: %p Value: %d\n",
                row, i, &arr1[row][i], arr1[row][i]);
    }
    printf("\n");

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值