嘿嘿,总是爱骂人
从指针开始吧,每天有空写一点(最近常出去不在电脑旁),到下周写完,以后看情况再说写不写。共同交流吧,再说我也没说啥,只是说C语言我不用再学了,嘿嘿。
题目:指针
第一节 指针初步
1.1 可以认为指针是个“长整型数”
注意这里的长整型是带引号的,比如下面程序
1:#include "stdio.h"
2:main()
3:{
4: long a,b,c;
5: a=30;
6: printf("\na->%d",a);
7: printf("\n&a->%ld",&a);
8: printf("\ninput b as &a ");
9: scanf("%d",&b);/*//**躲过b=&a; b=(int *)&a;也是不可能的*/
10: printf("\input a via b(value)");
11: scanf("%d",b);
12: printf("\nnew value of a->%d\n",a);
13: printf("Bye Bye");
14: getch();
15: getch();
16: }
可参考的运行结果:
1:a->30
2:&a->2293620
3:input b as &a 2293620
4:input a via b(value)456
5:new value of a->456
6:Bye Bye
这个程序(注意编译时去掉里面所有中文字符,不然会出个167....错误)及其修改版本(一会说如何修改)常用来说明指针的“本质”,我们经常说指针就是XX的地址,这个程序说明什么是地址。
第5行 给a任意赋了初值30;
第6行 打印出了a的地址,至此见运行结果 第2行
后来 程序第9行 我把看见的a的地址直接赋值给b 效果见运行结果第3行
然后在程序11行(那个明显的“错误行”) 通过标准的“长整型”变量b给a赋值 见运行结果 第4行,因为现在b的“值”就是&a,而scanf函数只要&a的值就可以了。
程序第12行打印被改变了的a的值。明显是我的输入“456”
至此指针的概念我们说明了一半,即指针就是个“数值”,所以以后可以考虑对这个数值运算,但没有说道的问题就是,指针是个有什么样规则的“数值”呢。
.......yong pin yin xie ,wo shi ge chu zi,ta men deng zhe wo zuo fan ne ,晚上见!....