社区
新手乐园
帖子详情
指针问题,高手指点
nanshi08
2007-04-09 11:19:57
main()
{
int **p,*s,k=20;
s=&k;p=&s;
printf("p=%d s=%d",p,s);
}
显示结果有问题啊:
p=-32 s=-34
如果改成
printf("p=%d s=%d",&p,&s);
则显示p=-34 s=-32
这是怎么回事啊?
...全文
354
15
打赏
收藏
指针问题,高手指点
main() { int **p,*s,k=20; s=&k;p=&s; printf("p=%d s=%d",p,s); } 显示结果有问题啊: p=-32 s=-34 如果改成 printf("p=%d s=%d",&p,&s); 则显示p=-34 s=-32 这是怎么回事啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
冰雪球球
2007-04-17
打赏
举报
回复
6楼的回答真是不错噢
JWILLOVE
2007-04-17
打赏
举报
回复
有收获
猪小烧
2007-04-14
打赏
举报
回复
学习
balloonpig
2007-04-14
打赏
举报
回复
呵呵,指向指针的指针,不管几个*号,一个一个的分析下去就行
myullian
2007-04-13
打赏
举报
回复
输出地址不是应该用printf("p=%p s=%p",p,s);
bgqy2000
2007-04-13
打赏
举报
回复
改成
printf("p=%d s=%d",**p,*s);
就没有问题了。
boykim
2007-04-12
打赏
举报
回复
恩,对的;学校的教科书很烂,但这个问题还是说清楚了.
指针变量前不加*号输出地址值;加了*号取内容输出(不包括字符指针.)
pyrophile
2007-04-12
打赏
举报
回复
*号的含义是取地址符
zhourenyun
2007-04-12
打赏
举报
回复
GXC讲的相当不错,尤其是对int** 的解释。
变巨
2007-04-11
打赏
举报
回复
&s表示指针s的地址,该地址的内容保存的是k的地址
*s表示取s指针保存的地址(k的地址)的内容,即k的值
*p表示取p指针的内容,即指针s的地址
**p理解成*(*p)表示取指针(即s)的内容,即k的值
ytfhwfnh
2007-04-11
打赏
举报
回复
基础的指针问题,最好还是自己找本书来看看,我也只能意会不能言传,洋洋洒洒写下来还不如去写书了。
nanshi08
2007-04-11
打赏
举报
回复
3楼什么意思?
我不太明白这个结果到底为什么会这样,如果哪位高手能详细解释一下,或者把原因写出来,小弟我很乐意学习。
nanshi08
2007-04-09
打赏
举报
回复
成功了,但是为什么这样啊?
ytfhwfnh
2007-04-09
打赏
举报
回复
改成
printf("p=%d s=%d",**p,*s);
就没有问题了。
不想低调
2007-04-09
打赏
举报
回复
lz的结果好像有问题,,。。
让你不再害怕
指针
深入理解
指针
,很详细,如有错误请
高手
指点
PDF文件格式下载:http://download.csdn.net/source/454542
java 图形界面小时钟
1、使用图形做表盘和
指针
(够新鲜吧!)。 2、及时获得系统时间,没有用++那样的算法,那样会有延迟的。 3、三线程(如果用一个线程秒针会跳跃多格,也就是还会延迟)。 4、如果运行期间更改系统时间,不会马上改变时钟
指针
(秒针是1秒钟更新,分针15秒更新,时针两分钟更新),请
高手
指点
怎么优化。 5、
指针
图片因为涉及旋转,在处理时要注意旋转轴心点的
问题
。
2小时精通C++智能
指针
本课程讲解C++11标准库中的智能
指针
。对于C/C++程序员来说,
指针
是天堂,也是地狱。
指针
用得好程序运行效率倍增,用得不好
问题
层出不穷。智能
指针
可以解决普通
指针
存在的悬垂
指针
、野
指针
、资源泄露等
问题
本教程的主要的演示平台为Qt 4.11和g++ 7.4。学员也可以使用Visual Studio 2017。教程中从最简单的例子入手,覆盖智能
指针
的常用技术点,并穿插实例程序。本篇讲解的技术点包括:共享
指针
、弱
指针
、唯一
指针
、自动
指针
等。本课程中涉及的所有软件和示例源码,均提供免费下载。
我的C语言寒假作业-学生通讯录系统(TURBO C++3.0编的)
学生通讯录管理系统,功能有添加资料,查询,删除,保存,读取,整理排序.....(数据是用结构体的,同时运用下
指针
的使用技巧)。由于初学,能力有限,提供参考,更希望各位
高手
指点
3C2440 ARM裸机 MMU代码(有bug)
发在csdn上的贴:http://topic.csdn.net/u/20120707/21/52fd37a8-55c9-4ae7-b151-84d16dfa232b.html?08264980597887188 我通过修改 韦东山《嵌入式LINUX应用开发完全手册》关于MMU那一张的代码,想在ADS环境下,裸跑MMU虚拟地址点灯,但没有成功,不知道错在哪,请
高手
指点
。。。 思路是这样: 在韦东山书中: 1. 原来在书中用的是GNU下的编译环境,汇编语法不同于ADS环境下。 2. 书中程序是从NAND flash启动,通过代码实现a.初始化SDRAM。b.复制代码到SDRAM的物理地址0X30000000处。再设置页表,启动mmu,重设栈
指针
,跳转到0xB0004000,点灯。 我的s3c2440+ads环境下: 针对第一点,我修改了原来的代码。但有两个地方不是太明白。 第一个是,关于c内嵌汇编代码,有一句:mov r4, %0 不太明白 %0 是什么意思。看网上有人说,%0 实质是等于 r4, #0x30000000 不知道对不对。为什么是这样呢?! 第二个是,关于内嵌汇编代码的最后两句: : /* 无输出 */ : "r" (ttb) ); 不明白是什么意思。只知道把最后一句的 ");" 改成 "}"。 因为 __asm__(); 的语法结构在ads中编译不过,所 以我改成了 __asm {} 的形式。完整的代码再后面。 针对第二点,我用的3c2440+ads环境,从nor flash启动,代码直接下载到板子的SDRAM 0x30000000处。所以省去了这两步。
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章