社区
C语言
帖子详情
关于%p的疑问
远诚友加
2019-12-16 05:53:07
我想问下各位前辈,假设int *p,d p=&d printf(“%p”,p) 输出的地址是指针p本身的地址还是指向的d的地址,如果指针本身没有地址就好理解了,但是又听人说指针本身有地址我就很疑惑,书上也找不到关于%p的介绍
...全文
29
4
打赏
收藏
关于%p的疑问
我想问下各位前辈,假设int *p,d p=&d printf(“%p”,p) 输出的地址是指针p本身的地址还是指向的d的地址,如果指针本身没有地址就好理解了,但是又听人说指针本身有地址我就很疑惑,书上也找不到关于%p的介绍
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
自信男孩
2019-12-16
打赏
举报
回复
是变量d的地址值。因为p = &b;这个表达式的操作就是把b的地址值存在变量p中。
%p是输出地址值,一般是指针的。
铖邑
2019-12-16
打赏
举报
回复
%p是一种指针变量显示格式,并不常用,一般情况下%X或者%x就可以了
铖邑
2019-12-16
打赏
举报
回复
所有的变量都有地址,代表变量在内存中所在的位置,除了地址之外,变量还有值,就存放在该地址所指向的那段内存空间里面,甚至常量也有地址和值。指针变量也是变量,当然也有地址。只不过指针变量(在32位应用里面是一个32位的整数)的值又是一个地址,这个地址可以随程序运行过程中改变,改变的就是指针的值,通过这个值可以引用到另一个地址里面的值。如此而已!
Hello! World
2019-12-16
打赏
举报
回复
这个输出的是指向d的地址
C/C++占位符,%x和%p的区别
今天遇到了一个很奇怪的问题,当使用`malloc`分配了一个堆空间后,分别尝试用`cout`和`printf`尝试打印该地址,出现了两个地址不一样的情况:可以看出两个地址低32位是一致的,出现问题的原因应该是`printf`显示不全导致的。
数论继续学习6---数论倒数,又称逆元
数论继续学习6---数论倒数,又称逆元数论倒数,又称逆元(因为我说习惯逆元了,下面我都说逆元)数论中的倒数是有特别的意义滴先来引入求余概念 (a + b) % p = (a%p + b%p) %p (对)(a - b) % p = (a%p - b%p) %p (对)(a * b) % p = (a%p * b%p) %p (对)(a / b) % p = (a%p ...
p=p->next
最近在写链表时经常用到p=p->next,用来寻找下一个节点,于是便产生了一个
疑问
,当p=p->next时,p原来的地址不会被覆盖吗? 答案是不会,我的理解:如果把P比喻成人,家比喻成地址那么有 P没有移动时: P移动后,即p=p->next时: 那么虽然P移动到了P->next家,但是P原来的家还是存在的,也就是原来的地址没有还在,变的时人的位置,也就是P的位置。...
c语言大数求模,C++快速幂与大数取模算法示例
一、快速幂其实就是求(a^b)% p ,(其中a,b,p都比较大在int范围内)这类问题。首先要知道取余的公式: (a*b)%p=(a%p*b%p)%p。那么幂不就是乘机的累积吗,由此给出代码:int fast(int a,int b,int p){ long long a1=a,t=1;while(b>0){ if(b&1) /如果幂b是奇数多乘一次,因为后边会除2变偶数...
关于C/C++中指针和数组的sizeof(p)的问题
关于C/C++中指针和数组的sizeof(p)的问题 #include<cstdio> void A(char p[10]){ printf("%d\n",sizeof(p) );// 4 } int main() { //char *p = NULL; // 4 //char *p = "Hello";// 4 // char *p[] = { "Hello", "World" };// 8 // char p[] = "Hello"; //6 // char p[10]
C语言
69,368
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章