访问使用malloc分配的2d数组。

时间:2014-11-06 10:09:40

标签: c arrays malloc dynamic-memory-allocation

天儿真好!

所以如果我像这样宣布数组​​:

int *A[5];

并且这样做了:

A[0]=(int*)malloc(sizeof(int)*10);

我可以使用方括号表示法通过A [0] [5]访问/填充吗?

2 个答案:

答案 0 :(得分:1)

是的,只要[A[0][n]]没有超过分配的内存区域,就可以访问n

也许有必要记住,在c中,索引将比分配的内存位置的数量小1。

答案 1 :(得分:0)

对于大多数部分,数组和指针是可互换的(因为数组衰减为指针),并且包括访问它们的语法。所以,是的,您可以使用数组索引语法来访问指针。

事实上,做a[x]等同于做*(a + x)