‘壹’ c语言小问题~已经定义int *p 那后面程序中分别提到p和*p有何区别
html?si=1"
target="_blank">http,代表的是指针变量
p,是普通变量
前面的INT是定义他们的类型
int
*p表示指向整数型指针变量
int
p
表示整数型变量.com/question/77727793://..com/question/77727793.html。
可以查询一下C语言指针的说明
热心网友|
发布于2009-01-16
09:24
评论
‘贰’ C语言中,const int *p是指p为只读变量还是说p指向的不能通过p修改,还是说都是只读
可以这么理解 int *p,p指向的是int *p得到int
const int* p;p指向的是const int, *p得到const int,所以*p不能修改,但p可以修改
‘叁’ c语言中%p是什么意思
格式控制符“%p”中的p是pointer(指针)的缩写。指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数。printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。
%p是打印地址的, %x是以十六进制形式打印, 完全不同!另外在64位下结果会不一样, 所以打印指针老老实实用%p 。
(3)c语言intp中p是什么扩展阅读:
%x同样输出16进制形式,不过%x对应的是int型,也就是说,其输出长度与系统int型占的字节数相等回。如32位编译器,int型占4位字节,那么%x输出的结果最多为16个16进制字符。
而%p输出宽度取决于系统地址总线位数,即16位最多输出4位16进制字符,32位最多输出8位16进制字符,64位最多输出16位16进制字符。
‘肆’ C语言中int * p;的含义
在c语言中
*
是指针运算符。
*p表示指针变量p所指向的变量的值。即p中存储的内存地址
所存储的变量的值。
另外
容易混淆的地方是;
定义一个指针变量p时,如
int
*p;
表示定义了一个指向整型变量的指针变量p。
望采纳。
‘伍’ c语言中有这样一个定义:int **p;问一下这个p是定义的什么变量
这个p是定义的二级指针变量,即“指向指针的指针”。
‘陆’ c语言中p*是什么意思,他和*p的区别是什么
p*
如是出现在算术表达式中,这个星号就是乘号,表示相乘,如果是出现在声明中(如变量定义),那就表明p是一种数据类型,p*表示要声明这种类型的指针变量。
*p
依然可以表示相乘的运算,也可表示提取p指针指向的位置保存的值。例如:
int a=9;
int *p=a;
printf("%d",*p);
这个printf()调用中的*p表示提取p指针指向的地址(即变量a的地址)保存的值(即变量a的值)
‘柒’ c语言中*p,&p,p到底有何关系 如f(int *p),f(&p),printf("%d\n"
可以这样理解。
int
*p;
p就是一个变量,存放一个值。这个值有点特殊,它是个存储空间的地址。这是,p成为指针变量。*p如果出现在表达式中,表示一个值,这个值为p中存放的地址处的内容。
int
p;的情况下,p也是一个变量,存放一个整型值。&p也是一个特殊值,这个值为p这个变量在存储空间中的地址。
‘捌’ c语言中"已知int p();则p是"
int p();
在C语言中这是一个函数的声明,该函数的函数名叫做p, 该函数的返回值为int类型,该函数的参数为空。
如果基础的理解,p是一个函数名,如果更深层次的理解的话,p本质上是一个指针,等楼主学习到关于指针的内容的时候就会更进一步的理解。
‘玖’ C语言中的int * p的理解
如果要连续定义两个指针应该是怎样做呢?
如果是第一种理解,则为:
int* p,q;
但是测试结果,p是int指针,而q是int类型,不是指针。
所以第一种理解错误,实际上要连续定义两个指针必须:
int *p,*q;
所以这样看第二种理解更靠谱一些,虽然我感觉还是有些牵强,因为这句
“而&*p为对p取地址,&和*抵消了”
在使用p的时候是不需要用&的