分享
 
 
 

浅谈指针

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

此文仅适合初学C语言的朋友,凡是学了几个月以上的不要对此文内容嗤之以鼻。

C语言最具特色的是什么?指针。这个答案好像是公论,无论高手还是低手,菜鸟还是老鸟,学过的还是没学过的,但凡是听说过C的,都能回答出来。正是因为C引入了指针的概念,使得他是最接近机器真实模型的高级语言,以至于得到了“中级语言”的称号;象我这样有时候汇编比C用的还多的人体会的更深——单片机编程,我只会汇编,虽然现在开始学C,还是觉得怪怪的。

因此,指针是学习C必须掌握的,如果你畏惧它,不如换一门没有指针的语言。下面有个小例子,希望你能从中得到一些启发。

#include <stdio.h>

void main()

{

int a = 10000;/*-------1*/

int* p, d;/*--------------2*/

p = &d;/*---------------3*/

p = (int*)a;/*-----------4*/

printf("%d %d", a, *p);

}

我来简单讲解一下:

是这样写int *p好还是这样写int* p好?

这两种用法都是可以的,并且每种写法都有拥护者。指针运算符是向右结合的,如果你象2语句那样写,实际上d还是int类型,而不是指针类型,赞成int *p写法的,就是出于这个原因。你说我把int*用括号括起来不就行了,但是编译器会把这样的写法当成是类型转换,而不是类型定义。赞成int* p写法的,原因就是直观,很清晰的表示p是个整型的指针。例如这样的写法int* p = &a;换成int *p = &a;就很让人费解。为了避免象2语句的误解,有个规则就是,一行只定义一个指针。

具体怎样写,要看个人习惯,每种写法人们都是认可的。

指针的危险性

指针实际上就是一个存有内存地址的变量,用指针访问就相当于间接寻址。很显然,你可以给指针赋不同的数值,这样就能访问任意的内存——太危险了,例如4语句。在16位系统中,你对这种使用毫无办法。幸运的是,在32位系统中,这种使用被禁止了。

指针的类型

你说指针不就是一个存有内存地址的变量吗,既然都是“内存地址”类型,干什么还要类型啊。但是需要注意的是,当你从指针还原的时候,它指向的那块内存,究竟是按照整型来用啊还是别的什么结构?从这个角度来说,当你很清楚指针指向的内存的内容,做指针类型变换也是允许的。

关于指针,每本C语言书籍都有很详细的介绍,我就不再多说了。当你粗浅的了解汇编的时候,相信你会对指针有更深刻的理解。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有