例如
int (*pt)[4];
int target[3][4] = {{1,3,4,6},{2,4,5,8},{3,4,6,7}};
pt = target;
*pt = target[0];
为什么是“[错误]无效的数组赋值”
最佳答案
int (*pt)[4]
将 pt
声明为指向数组的指针。
C 不允许分配数组;例如你不能这样做:
int a[4] = {1, 2, 3, 4};
int b[4];
b = a;
如果要复制一个数组,需要使用循环,也可以使用memcpy
:
memcpy(pt, target[0], sizeof target[0]);
关于c - *pt in int (*pt)[2] 和 pt in int *pt 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58151924/