mshd.net
当前位置:首页 >> C语言int (*p)[4]和int *p[4]区别 >>

C语言int (*p)[4]和int *p[4]区别

int*p[4]是指针的数组,也就是说它是一个数组,数组里存的是一个个的指针 int(*p)[4]是数组的指针,也就是说它是一个指针,指向的是一个数组。指针指向的类型会影响到指针加减运算时地址的位移。比如说有一个数组 int a[4],加上取址运算符 &a...

int *p[4], 是一个长度为4的指针数组,数组的元素为int*; sizeof(p) => 4*4 = 16;(32位系统一个指针4字节) 用法:*(p[0]) int (*p)[4] 是一个指向长度为4数组的指针,即int(*)[4]; 其本质是一个指针,如在32为系统上,sizeof(p) => 4 用法:(*p...

楼上说的是错的,int *p[5],首先它是一个数组,它的大小是5,它里面存放的数据类型是int *,也就是整型指针。 所以它叫指针数组、 (从右向左解析这个表示) int (*p)[5],首先p是一个指针,指向大小为5的数组,因此这叫数组指针。(括号优先) ...

int *p;——声明一个指向int型变量的指针p。 int【*p】【4】——这是错的,应该是int (*p)[4];——声明一个指向具有4个int型元素的数组的指针p。 int(*p)(int int)——声明指向一个具有两个int型形参、返回int型值的函数的指针p。

答案是D int* p[4];是定义了一个数组,有数组元素是类型是int* A选项是定义了一个指针,该指针指向的类型是int[4],是个数组的指针 B选项是定义了一个数组,元素类型是int C选项是定义了一个二级指针 D选项的含义和int*p[4]是一样的,是个指针数组

*p=&b这个语句不合法吧。 int *p;p=&b; 这个语句的意思是p是一个指向int变量的指针,现在把b的地址赋值给p。 &b是指b的地址。

指向【4】数组的指针,p相当于二维数组a[ ][4]。p里面存放的是指向列数为4的数组首地址的指针。是指向指针的指针。经常用于表示二维数组形参。

*p_data[10]是指针数组,存放指针变量。如int *p1, *p2; p_data[0] = p1; p_data[1] = p2; (*p_data)[10]是数组指针,指向具有10个元素的数组,如10个int data1[10], data2[10];p_data[0] = data1, p_data[1] = data2; 等价于指向 int data[10...

1,前者,p是一个指针,后者p是一个数组,差别太大,以至于没有什么相同的地方(⊙﹏⊙) 2,没太理解问题,请用一小段代码说明。

int(*f)(int); 表示f是函数指针 , 它可以指向一个返回值为int类型,参数为int类型的函数。 int *f(int); f表示一个函数名,其返回值类型为int * , 参数为int

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com