问 int*(*ptr)[4];是什么意思? 关于int*(*ptr)[4];的几问1.它是什么意思?2.指针的类型是什么?3.指针所指向的类型是什么?4.第一个*号是表示数组中的元素为数组吗?5.式中()是什么意思?去掉又是什么意思?6.式中数组名是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int*(*ptr)[4];是说明这是个二维数组的整形指针,括号表示每个都友四个 定义一个函数指针数组,他有4个元素,所指向的函数的返回类型是int * 不知道还是不要说得好,有误导嫌疑,关外才子说得对,ptr是一个有四个元素的数组,元素类型是函数指针,这个函数没有参数,返回int *。 int (*ptr)[4]是一个指向二维数组的指针,其中[4]是二位数组的列数。int * (*ptr)[4]是一个指向指针的指针,它指向的指针为一个指向列数为4 的二位数组的指针。 严重同意bauhaus(乱发)的意见和答案 int *ptr[4]是一个指针数组,数组元素的个数为4。int **ptr[4]是一个指向指针数组的指针。 ptr是一个指向数组的指针,它怕指向的数组是一个指针数组 我知道int*(void *ptr)[4];什么意思但不知道int*(*ptr)[4]是什么意思 hehe,初看是很像一个函数指针数组();我知道一种方法可以定义函数指针数组typedef int (CALLBACK * Connect)();Connect a[4];但是直接定义的话是不是这样(int CALLBACK * ptr)()[4];//??? 1.它是什么意思?一个存放了四个函数指针的数组2.指针的类型是什么?指针的类型为函数的入口地址3.指针所指向的类型是什么?指针所指向的分别是四个函数的入口地址4.第一个*号是表示数组中的元素为数组吗?第一个*号表示函数的返回值是int *5.式中()是什么意思?去掉又是什么意思?加()用于表示ptr是函数指针,例如:int* fun1(){ }...int* fun4()ptr[0]=fun1;...ptr[3]=fun4;如果不加则表示一个存放4个指针的指针的数组例如:int *p1;...int *p4;int** ptr[4];ptr[0]=&p1;...ptr[3]=&p4;6.式中数组名是什么?数组名为ptr,即为第一个函数指针元素 指针的类型就是函数的地址,它并不能用int,double这样一些类型来描述,函数名就是函数的入口地址,就像数组名就是数组首元素的地址一样 yinleish(lovebubble)兄: 关于int*(*ptr)[4];指针的类型是int*(*)[4];指针所指向的类型是int*()[4];这两个应是不同的值,请问怎样解释? 让编译器来解释吧,以下代码在 warning level 4 下是可以无错通过的:int*(*ptr)[4];int* intArray[4];ptr = &intArray; 1.它是什么意思?指向Array[4]数组的指针,数组类型是 int*2.指针的类型是什么?等价于:typedef int* PINT;typedef PINT PINT4[4];typedef PINT4* PTR_TYPE;PTR_TYPE ptr;3.指针所指向的类型是什么?如上4.第一个*号是表示数组中的元素为数组吗?元素为指针类型 PINT5.式中()是什么意思?去掉又是什么意思?去掉是一个数组,元素是 int**;typedef int** PPINT;typedef PPINT PPINT4[4];因为 C++ 代码中可以插入任何空格,都写成 int* *[4] 就不能区别了。6.式中数组名是什么?命名...参考 2 吧 btw: int* func(void) 的指针数组应该是 int* (*ptr[4])(void); 同意ln355Hz的见解,这不是函数指针,而是一般的数据指针。int* (*ptr)[4];看成typedef int* AAA[4];AAA* ptr; 如何实现类似Outlook收件人的控件? 按了一个按钮后调用TrackPopupMenu,按钮的wnd会失去鼠标焦点,有什么方法可以使原来的窗口获得鼠标焦点 处理unicode文档时,用_tcslen()这样求变量长度为何不对? 大虾们快来帮忙 请大家告诉我怎样用EXCEL 各位大侠江湖救急啊!! 如何让EditView只读但背景是白色 请问如何根据分辨率自动调整对话框的大小和位置! pDC->TextOut输出的字符串可以被copy下来嘛? 如果两个进程同时处理一个数据,会发生什么后果,如何避免 什么错误?40分 两个窗体间的怎么互相操作?
int * (*ptr)[4]是一个指向指针的指针,它指向的指针为一个指向列数为4 的二位数组的指针。
int **ptr[4]是一个指向指针数组的指针。
但不知道int*(*ptr)[4]是什么意思
typedef int (CALLBACK * Connect)();Connect a[4];但是直接定义的话是不是这样
(int CALLBACK * ptr)()[4];//???
一个存放了四个函数指针的数组2.指针的类型是什么?
指针的类型为函数的入口地址3.指针所指向的类型是什么?
指针所指向的分别是四个函数的入口地址4.第一个*号是表示数组中的元素为数组吗?
第一个*号表示函数的返回值是int *5.式中()是什么意思?去掉又是什么意思?
加()用于表示ptr是函数指针,
例如:
int* fun1()
{ }
...
int* fun4()
ptr[0]=fun1;
...
ptr[3]=fun4;如果不加则表示一个存放4个指针的指针的数组
例如:
int *p1;
...
int *p4;
int** ptr[4];
ptr[0]=&p1;
...
ptr[3]=&p4;6.式中数组名是什么?
数组名为ptr,即为第一个函数指针元素
关于int*(*ptr)[4];
指针的类型是int*(*)[4];
指针所指向的类型是int*()[4];
这两个应是不同的值,请问怎样解释?
int* intArray[4];ptr = &intArray;
指向Array[4]数组的指针,数组类型是 int*2.指针的类型是什么?等价于:
typedef int* PINT;
typedef PINT PINT4[4];
typedef PINT4* PTR_TYPE;
PTR_TYPE ptr;3.指针所指向的类型是什么?
如上4.第一个*号是表示数组中的元素为数组吗?
元素为指针类型 PINT5.式中()是什么意思?去掉又是什么意思?
去掉是一个数组,元素是 int**;
typedef int** PPINT;
typedef PPINT PPINT4[4];
因为 C++ 代码中可以插入任何空格,都写成 int* *[4] 就不能区别了。6.式中数组名是什么?
命名...参考 2 吧
int* (*ptr)[4];
看成
typedef int* AAA[4];
AAA* ptr;