这在C int(*ptr[2])[4]中意味着什么;
我想知道这个定义是什么意思这在C int(*ptr[2])[4]中意味着什么;,c,pointers,C,Pointers,我想知道这个定义是什么意思 int (*ptr[2])[4]; 如果我打印“ptr”的大小,它显示16。 在我的机器上,整数指针的大小是8,其中整数的大小是4 如果我将ptr重新定义为 int (*ptr[2]); then also, size of ptr is 16. 所以问题是 定义int(*ptr[2])[4]的含义是什么 如何初始化ptr 用于阅读此类声明 int(*ptr[2])[4]是指向4个整数数组的2个指针数组 如果我打印“ptr”的大小,它显示16。另外在我的机器上整数
int (*ptr[2])[4];
如果我打印“ptr”的大小,它显示16。
在我的机器上,整数指针的大小是8,其中整数的大小是4
如果我将ptr重新定义为
int (*ptr[2]); then also, size of ptr is 16.
所以问题是
int(*ptr[2])[4]
是指向4个整数数组的2个指针数组
如果我打印“ptr”的大小,它显示16。另外在我的机器上整数指针的大小是8
这是因为ptr
是由两个指针组成的数组。用于读取此类声明
int(*ptr[2])[4]
是指向4个整数数组的2个指针数组
如果我打印“ptr”的大小,它显示16。另外在我的机器上整数指针的大小是8
这是因为
ptr
是一个由2个指针组成的数组。Q2如何初始化ptr?
例如
inta[4]={1,2,3,4};
int b[4]={6,7,8,9};
int(*ptr[2])[4]={&a和&b};
int i;
对于(i=0;iQ2如何初始化ptr?
例如
inta[4]={1,2,3,4};
int b[4]={6,7,8,9};
int(*ptr[2])[4]={&a和&b};
int i;
对于(i=0;iint(*ptr[2])[4];
是一个包含2个元素的数组,每个元素的类型为int(*)[4]
,表示指向包含4个元素的数组的指针
这等于typedef int(*PTR)[4];PTR PTR[2];
typedef int (*arrayOfNPointers)[N];
So, if this is right, it is a data type describing an array of N pointers to int.
int(*ptr[2])[4];
是一个包含2个元素的数组,每个元素的类型为int(*)[4]
,表示指向包含4个元素的数组的指针
这等于typedef int(*PTR)[4];PTR PTR[2];
typedef int (*arrayOfNPointers)[N];
So, if this is right, it is a data type describing an array of N pointers to int.
此初始化正确吗?int(*ptr[n])[m];
其中n
和m
作为用户输入。此初始化正确吗?int(*ptr[n])[m];
其中n
和m
作为用户输入。