gpt4 book ai didi

c - 初始化指向整数的指针数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:51:09 24 4
gpt4 key购买 nike

我正在尝试初始化并打印指向整数的指针数组。当我们将其声明为指针数组时,这种初始化方法是否正确或任何其他方法都可用于初始化。无论如何,我们也可以使用传统的数组数组 ar1[][] 。

#include <stdio.h>
#include <stdlib.h>

#define NUM_COLS 4
#define NUM_ROWS 3

int main(void)
{
int rowCnt;
int colCnt;

int *ar2[NUM_ROWS]={
(int[]){11,12,13,14},
(int[]){21,22,23,24},
(int[]){31,32,33,34},
};

for(rowCnt=0;rowCnt<NUM_ROWS;rowCnt++)
{
for(colCnt=0;colCnt<NUM_COLS;colCnt++)
{
printf("%d\t",*(*(ar2+rowCnt)+colCnt));
}
printf("\n");
}
return(0);
}

最佳答案

这个初始化是正确的;复合文字的生命周期与声明它们的 block 相匹配。在这种情况下,文字的生命周期与 ar2 相同。

但是,除非您有一些额外的要求(例如想要不同长度的行),否则我建议使用 dbush 的答案中的简单数组。

关于c - 初始化指向整数的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51034145/

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