c++ - 这个指针类型是什么以及如何使用它?

标签 c++ c pointers

好吧,我遇到了这个指针类型,我试图在我的代码中使用它,但是我从编译器那里得到一个警告,说它是不兼容的指针类型

这是类型

data_type (*i)[j] 其中 i 是变量名 j 是指针的大小

例如,如果您希望指针的大小为 4 个整数,您可以声明

int (*i)[4] 然后您需要分配一个包含 4 个整数的数组

i = &s[4]

然而,当我尝试分配它时,我收到编译器的警告,说 incompatible type

那么这里的问题似乎是什么?以及如何正确使用它?

最佳答案

cdecl.org告诉我们它是:

int (*i)[4]

declare i as pointer to array 4 of int

所以,我们可以这样使用它:

int arr[4];
int (*i)[4] = &arr;

或者,使用堆分配内存:

int (*j)[4] = malloc(sizeof(int[4]));

关于c++ - 这个指针类型是什么以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28656232/

相关文章:

c++ - 如何在 Xcode 5 中使用编辑方案将参数传递给 main.cpp

c - C中管道的实现

c++ - 为什么点云库的 loadPCDFile 这么慢?

c++ - 通过 CMake 连接 fftw3 库

创建骰子图

python - 如何释放由与 Cython 模块接口(interface)的外部 C 库分配的内存,其中内存最终返回到 Python 进程?

c++ - 字符串和商店

c - 具有双重引用的函数中的函数

c - 当您在 C 语言中声明参数数量错误的回调时会发生什么?

c++ - 如何声明一个可以在整个程序中使用的全局 2d 3d 4d ... 数组(堆版本)变量?