我正在尝试为整数数组分配内存

ptr=malloc(length*sizeof(int));


这将给我指向已分配内存的指针。我知道我可以使用*(ptr + k)访问值,其中k是整数数组中的位置。但是有一种方法可以定义一个新数组

int allocarray[length];


然后为allocarray分配地址ptr,这样我就可以使用

allocarray[k]


?我尝试了以下无效的方法:

allocarray=ptr;


感谢您的帮助。

最佳答案

如果像上面一样声明一个数组,它将被自动分配。但是,如果您说:

int *allocarray = (int *)malloc(length*sizeof(int));


您仍然可以使用语法allocarray[k]访问元素k。

关于c - 如何将整数数组分配给特定地址?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43046485/

10-11 15:54