c - 如何将整数数组分配给特定地址?

标签 c function pointers struct

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

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

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

int allocarray[length];

然后将地址ptr分配给allocarray,以便我可以使用

访问存储的值
allocarray[k]

?我尝试了以下方法,但不起作用:

allocarray=ptr;

谢谢你的帮助。

最佳答案

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

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

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

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

相关文章:

c - 头文件的多重包含错误 - C

c - 指针寻址并在函数内部创建新值

javascript - 访问 javascript 中的内部函数

C 中的代码 : issue on int array function argument in 64-bit systems

c - TCP 套接字是否以与发送数据相同的方式接收数据?

c - c 中的二进制数和字符串表示

C 编程 - Main 无法识别被调用函数的变量结果。

c++ - OpenGL,C++,为什么 glutReshapeFunc 函数给出黑色 opengl 屏幕?

c++ - List<MyClass*> & 数组问题

c++ - 始终存在的动态分配成员的指针或引用?