(int*)p是什么意思 p是指向结构的指针

如题所述

p原来是指向结构的指针的话,这个语句的意义就是让p指向int型数据,*p可能是结构里面的第一个int型数据。
如果这是一个定义指针的语句,那么(int *)p的意思就是定义一个指针p,指向int型数据
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-06
这个差别是做一个强制类型转换 , P初始是指向一个结构体的指针,那么p++的意义是使得指针移动sizeof(*p)大小的空间。如果是int*类型的 那么P++就是移动4个字节(C++中) 这样指向的是同一个内存区,但是访问的时候 读取的内容会有区别。本回答被网友采纳
第2个回答  2011-01-06
将结构指针强制转换为int型指针
第3个回答  2011-01-07
有道理

(int*)p是什么意思 p是指向结构的指针
p原来是指向结构的指针的话,这个语句的意义就是让p指向int型数据,*p可能是结构里面的第一个int型数据。如果这是一个定义指针的语句,那么(int *)p的意思就是定义一个指针p,指向int型数据

*((int*)p)这个应该怎么理解呢,,p是个指针
(int*)p表示将p这个指针强制转换成int*类型的指针,之后再在其前取*号表示取其值

c语言中有这样一个定义:int **p;问一下这个p是定义的什么变量?
这个p是定义的二级指针变量,即“指向指针的指针”。

(int*)p是什么意思
楼上的回答错了,这个类型强制转换,把p的类型强制转换为整型指针。强转格式:(数据类型)变量名称,作用就是把该变量的类型强制转化成括号中的类型。

(int *)*p是什么意思?
如果是定义的变量,此时括号可省略,应该为指向指针的指针,也即p为指针,指向一个int指针(这里我们假设为p1,而p1也是一个指针,是指向int型地址的)若是中间使用,应该如上所述,是个强制类型的转换了。这样回答是不是说明白了呢?呵呵,希望对你有帮助 ...

int* p;什么意思?
2 个*号,声明指向指针的指针。它的意思是“它是一个整数,这个整数指向某个内存地址,一次访问sizeof(int)长度,其值是一个整数,那个整数值指向某个内存地址,一次访问sizeof(BTree)长度。指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int *、...

(int*)p是什么类型,p是指针变量
「int *p;」这一种要好些 1、在一次声明一个指针的情况下,这两种情况是看不出来有什么区别,所以两种都可 2、在一次声明多个指针的情况下,就能看出区别来:a)按照第一种方式声明多个指针:1 int* p, q;这种是错误的,上面的声明是一个指针p和一个整型q b)按照第二种方式声明多个指针:1 i...

已知int* p是指向整型的指针
是的。前者声明的是一个类型的函数:输入一个int参数,输出一个int参数。后者声明的是一个具体的函数:该函数输入一个int参数,返回一个整形指针(int*)参数。调用上:前者需要依附于具体的函数(即把同类型的函数指针赋给p),后者可以直接调用。

C语言中的int * p的理解?
如果是第一种理解,则为:int* p,q;但是测试结果,p是int指针,而q是int类型,不是指针。所以第一种理解错误,实际上要连续定义两个指针必须:int *p,*q;所以这样看第二种理解更靠谱一些,虽然我感觉还是有些牵强,因为这句 “而&*p为对p取地址,&和*抵消了”在使用p的时候是不需要用&的 ...

若有定义:int **p;则p是一个什么变量
p是指针变量.int ***p;不管你写多少个 * 号 p 都是指针变量 这个变量存储的数据是 一个内存的地址

相似回答
大家正在搜