44问答网
所有问题
请问int (*p)[3];是什么意思?
如题所述
举报该问题
推荐答案 2013-10-30
int(*)[3]这个东西是指向类型为int[3]的指针,也就是说是指向一个长度为3的整型数组的指针。比如:
int a[5][3]; // 一个二维数组,第一维长度为5,元素类型为int[3]
int (&r)[3] = a[2]; // 一个类型为int[3]的引用,指向a中的第三个元素
int (*p)[3] = &r; // 指针指向这个地址
后话,虽然这么用没错,但强烈不建议这样用。
需要的话考虑容器std::vector<T或者std::array<T, N。这些类型都可以当作值类型来处理,而数组不行,很容易产生很多很神奇的错误。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/Y6KY3WVW3YGWYZ6V6KZ.html
其他回答
第1个回答 2013-10-31
首先p是一个数组,有三个元素,中间那个3然后p中的每个元素都是一个数组指针,指向含有3个元素的数组 int (*p[3])[3]; int arr[4][3]; p[0]=arr; p[1]=&arr[1];]
第2个回答 2013-10-31
定义一个3维数组,数组中的每个元素是个函数指针,该指针指向一个(带有1个int参数,返回值为指向int的指针)的函数]
相似回答
* p和
(* p)[3]
有
什么
不同?
答:
1、*p[3] 这个是一个指针数组,
它所代表的意思是每一个元素都相当于一个指针变量
;例:int a=10,b=20,c=30;int*p[3]={&a,&b,&c};2、(*p)[3] p是一个指针变量,表示指向含有3个整型元素的一维数组;例:int a[3]={1,2,3}; 那么p就是指向这个数组a的指针;int(*p)[3]=&a;...
int(*p)[3]
指的
是什么
啊?请用通俗语言讲
答:
指向整型数组的指针. (是一个指针, 不是一组指针, 指向的对象是整型数组, 而不是指向整数) 指向的数组长度必须为 3.例如 int main(void){ int
(*p)[3];int
x[2][3];p = &x[0]; // ok int y[2][4];p = &y[0]; // warning y[0] 是个长度为 4 的数组 return 0;} 它...
定义
int(*p)[3];
则定义了一个名为p的指针变量 它可以指向每行有三...
答:
楼主你好!
首先(*p)[3]是一个指针数组,意思就是p这个指针是指向一个含有3个元素的数组的
,那么p指针每一次加1就相当于把p中存的地址加6(前提是int类型占2个字节,在vc中是占4个字节)。举个例子:int a[3][3];int(*p)[3];p=a;//也就是把数组a的首地址存放到p中 那么p[1]就是a[...
若有说明
int(*P)[3];
则以下正确的描述()。
答:
p是一个指针,它可以指向一个含有3个整型元素的一维数组
。数组指针,指的是数组名的指针,即数组首元素地址的指针。即是指向数组的指针。例:int (*p)[10]; p即为指向数组的指针,又称数组指针。数组指针是指向数组地址的指针,其本质为指针;指针数组是数组元素为指针的数组(例如 int *p[3],定义...
大家正在搜
(*p)[4]是什么意思
*p=a是什么意思
int (*p)[3]
int (*p)[4]
int a[3][3]
charm是什么意思
int a[5],*p=a
sizeof(int)
int*p