我正在尝试为整数数组分配内存
ptr=malloc(length*sizeof(int));
这将给我指向已分配内存的指针。我知道我可以使用*(ptr + k)访问值,其中k是整数数组中的位置。但是有没有办法定义一个新数组
int allocarray[length];
然后为allocarray分配地址ptr,以便我可以使用
访问存储的值allocarray[k]
?我尝试了以下不起作用:
allocarray=ptr;
感谢您的帮助。
答案 0 :(得分:1)
如果您像上面那样声明一个数组,它将自动分配。但是,如果你说:
int *allocarray = (int *)malloc(length*sizeof(int));
您仍然可以使用语法allocarray[k]