论坛: 编程破解 标题: C指针请教 复制本贴地址    
作者: gaozizhan [gaozizhan]    论坛用户   登录
char a[10]="acegikmop",*p;
p=a+3;
p++;
printf("%c,%c\n",*(p+2),*p+2);

inta[10]={2,4,6,8,10,12,14,16,18},*p;
p-a+5;
printf("%d,%d\n",*(p+1),*p+1);
以上两个程序运行结果是什么
能不能给讲指针的怎么样移动
                    谢

地主 发表时间: 04-11-10 18:29

回复: ljsh012 [ljsh012]   论坛用户   登录
char a[10]="acegikmop",*p;
p=a+3; /*此处p得值为数组a的首地址加上3后的值。即p此时指向g.*/
p++;/*p自加一次,指向i*/
printf("%c,%c\n",*(p+2),*p+2);/*再加2后指向m,而后面的*p目前指向为i.应要和2相加的话,那么,把i的ascii码105加上2后为107。107对应的字符为k.所以最后的输出为m,k.注意此时这里的k不是数组中的k.*/

第二个程序没什么价值,只是一个内存中的随机地址分配。


B1层 发表时间: 04-11-10 19:45

回复: lqvewhop [lqvewhop]   论坛用户   登录
我还不懂指针啊
是不是很难啊~~~~~~~~~~~~~~~

B2层 发表时间: 04-12-24 22:17

回复: sniper167 [sniper167]   论坛用户   登录
刚开始的时候是有点难理解

自己对着书上的图结合看看可能更容易理解一些

B3层 发表时间: 04-12-25 04:39

回复: anfer [anfer]   论坛用户   登录
存储地址的变量!!!
只是在很多操作中会使操作更简单!!!
时间长了就自然明白了!!
比如用来赋值或是初始化的函数要用!!
动态分配有时也要用!
在跟踪调试时你就能明白了!


B4层 发表时间: 05-01-25 23:56

回复: TGV_Mic [tgv]      登录
指针就是一个单刀多指的开关!

说个简单的例子~  用过风扇的转速调节器吗?  有旋转式的,有按钮式的,旋转式的相当于指针,按钮式的相当于数组,在访问的时候,旋转式的只需要一个部件,而按钮式的就需要好几个部件,  指针到底有多难?!其本身并不难,难的是他与其他结构类型的结合~,如果要是连 P++ 和 ++P 的区别都搞不懂的话,建议重新建立概念~

B5层 发表时间: 05-01-26 14:04

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号