网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月07日漏签0天
c语言吧 关注:798,837贴子:4,356,361
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 下一页 尾页
  • 50回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
>0< 加载中...

指针答疑

  • 只看楼主
  • 收藏

  • 回复
  • Amoxicilliner
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

关于这段代码,int *p=&i,那么p获取的应该是i的地址,*p不就应该是i的地址的值吗,为什么会是1呢?
如果说i的地址是70,*p的结果应该是70啊


  • 郭晨伟sunny
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
p才是i的地址,*p就是i的值。


2025-06-07 09:03:21
广告
  • 王大仙儿
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这段代码就是为了让你明白地址和指针,当在定义变量i的时候,内存中已经给i分配了一个整形数据需要的空间(4个字节),其首地址就是&i,紧接着定义了指针p,并将指针p指向了变量i的地址,所以在下面*p的操作,就是相当于在i所对应的内存空间内进行操作,可能我理解你的问题没理解到点上,p是个指针,并且p在内存中也是有内存空间的,你可以把p也理解为跟i相同的东西,只是i中存的是变量值,但是p的内存中寸的是指向的地址,*操作符就是就是去找p里面存的地址的内存空间了,这样说明白了吗?如果不明白,那我就给你讲的更直白一点,假设i就是一个保险柜,里面放的是钱,p是另外一个保险柜,上面写的是i的编号,只有当你在p里面找到i保险柜的编号,才能到i保险柜里面去取钱。如果这样还没理解的话,那我就爱莫能助了。


  • Bubble
  • 马猴烧酒
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那p又是啥


  • 缺心眼的花
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有任何问题可以来请教免费大神解答


  • 一周休七日
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
int *p=&i;相当于int *p; p=&i;
&i是70,那p不就是70吗


  • Amoxicilliner
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嗯,这个我知道,我不明白的是为啥*p=1了


  • Amoxicilliner
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@王大仙儿,图应该是这样吧


2025-06-07 08:57:21
广告
  • Amoxicilliner
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@王大仙儿💯


  • 333xxxyyywww33
  • 团子家族
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
int i=1;
int *p=&i;//定义一个指针变量p p=&i
*p=*p+1; // *p=*&i=i 所以 *p=*p+1; 就是i=i+1
printf("i=%d,*p=%d\n",i,*p);//输出i=2 *p=2


  • Amoxicilliner
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我明白了,谢谢各位大佬指点


  • Jji
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不明白就看书 p=&i , *p都什么意思 书上都讲得很清楚了 用不着你去猜


  • 大凤
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你自己print一下&i,p,*p不就行了,非要在这争


  • Hades
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
* 不是取值,严谨地说应该是间接寻址。


2025-06-07 08:51:21
广告
  • 破面一护
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
建议你使用int* p代替int *p,这样你就能理解了,int*是一个整体,这里的*和解引用*p的*不一样


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 50回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示