gpt4 book ai didi

c - 指向数组的指针和动态内存分配

转载 作者:太空宇宙 更新时间:2023-11-04 02:43:30 25 4
gpt4 key购买 nike

如何在 C 中使用指向数组的指针和动态内存分配来创建二维数组,而不使用 typedef 并且在指向数组的指针声明时不使用 malloc?我们如何对指向数组的指针进行类型转换?一般来说,我们如何创建 a[r][c] ,从 int (*a)[c] 开始,然后为“r”行分配内存?

例如。如果我们需要创建 a[3][4] ,我们是这样做的吗?

int (*a)[4];

a= (int (*) [4]) malloc (3*sizeof (int *));

最佳答案

For ex. If we need to create a[3][4] , Is this how we do ?

int (*a)[4];

a= (int (*) [4]) malloc (3*sizeof (int *));

int (*a)[4] = malloc ( 3 * sizeof ( int [4] ) );

或者

int (*a)[4] = malloc ( 3 * sizeof ( *a ) );

或者

int (*a)[4] = malloc ( 12 * sizeof ( int ) );

第一种初始化形式的信息量更大。

关于c - 指向数组的指针和动态内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com