99问答网
所有问题
当前搜索:
int **p
c语言中有这样一个定义:
int
**p
;问一下这个p是定义的什么变量?
答:
这个p是定义的二级指针变量,即“指向指针的指针”。
“
int
**p
”和“int *p”有什么区别?
答:
int
*p表示的是一级指针,表示p所指向的地址里面存放的是一个int类型的值。int
**p
表示的是二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针。一级指针存放变量的地址,指向的值是变量的内容。如int* p={1,2,3}, p=数组的首地址,*p=数组的第一个值;二级指针存放一级指针的地...
C语言高手请指教:"
int
**p
"是什么意思啊
答:
int
*p
=&a;即声明一个整型指针变量p,并给指针变量p赋初值为变量a的地址。即p中存放的是变量a的地址。如果,*p=&a;这样话,是把变量a 的地址存到指针变量p所指向的内存单元中.例如:main(){ int *p,**k,a,s,t;a=5;p=&a;/*指针变量p存放变量a的地址*/ s=*p;k=&p;/*指针量变量k...
在c语言中
int
**p
,如果想取它的值,用*p来表达吗?
答:
不是。语句
int
**p
;定义的p是二级指针,也就是,“指向指针的指针”,所以,用*p取出来的,仍然是一个地址。要想取出存放的用户数据,必须要用**p,才可以。另外,你题目中的叙述有点问题,就是那个“它”指的是谁,是p吗?现在分析一下:当你用int **p;声明一个变量时,系统会给变量p分配一...
C语言中
int
*(
*p
)()是什么含义??
答:
int *(*p)
()——声明p是指向函数的指针,被指向的函数没有形式参数,返回一个int *型指针。
int
**p
怎么指向二维数组?
答:
int a[SIZE][SIZE];int **p = a;这样是不行的 但是可以这样:
int**p
= (int**)malloc(sizeof(int*)*SIZE);for (int i = 0; i < SIZE; i++) { p[i] = (int*)malloc(sizeof(int)*SIZE);} 然后就可以这么用了 p[i][j]。想要指向二维数组,必须定义一个指向一维数组的指针 ...
在类型强制转换中(
int
**)p与(int *)
*p
与*(int *)p有什么区别?
答:
(
int
**)p;//强制将变量p转换成指向 int类型指针变量的 指针(转换后p是指向指针的指针)(int *)
*p
;//强制将变量 *p 转换成指向 int类型的指针变量,(*p当成整体做强制转换,这么看来,p也可能是一个指向指针的指针)(int *)p;//强制将变量p转换成指向int类型变量的指针,再取这个指针变量...
int
**p
是合法的定义吗
答:
你这个定义绝对是合法的,这只是定义了一个二级指针,也就是说这个变量指向的是一个指针的物理地址。比如,定义一个一级指针,一个二级指针,将一级指针的物理地址放到二级指针里。
int
* p
;int **q;q = &p;就是这样,所以,你的定义绝对是合法的,至于你有没有用的合理就看你自己怎么用了。满...
C语言中 指针各个符号的含义
int
*(
*p
)();
答:
int
* : 整型指针 (
*p
) : 用括号调整优先级,强迫其与p作结合,表示p是一个指针类型(否则此处p应与"()"结合作为一个函数,而该"*"则应跟左边的"int *"结合作为"int **"整型指针的指针)如此,相应的我们就很容易解释其他的如:int * 整型指针 int ** 整型指针的指针 int * a[n]...
int* p
, int* p,* p有什么区别
答:
一、意思不同 int *p和
int* p
后者比前者更好理解为指针。int *p;可能会被理解为一个变量,名为*p,int* p;很直观的被理解为一个指针,名为p。二、强调类型不同 p是一个int’这里*和p绑在了一起——这就是C的风格,这种风格强调的是语法。而一个典型的C++程序员会写“
int*p
”,并告诉你...
1
2
3
4
5
6
7
8
9
10
下一页
尾页
其他人还搜
二级指针和二维数组
指针指向二维数组的几种方法
int a[2][3]={1,2,3,4,5,6},则a
size_t类型
int (*p)[4]
int (*p)[3]
int a[5],*p=a
int a[10],*p=a;
语句int *p;说明了