文章正宗 西山:指针与对象有什么区别?!
来源:百度文库 编辑:神马品牌网 时间:2024/05/03 06:49:48
简单来说,指针是一栋大楼的门牌号码,它的对象是这栋大楼。
程序说明,主要是为程序中用到的变量开内存单元。
程序开头的指针说明干什么呢,也是开内存单元,为的是放门牌号码。无论楼大楼小那怕是一间屋,它的指针,也就是门牌号码,都一般大,只占一个内存单元。
如果程序中要用到钉了某门牌号的大楼的房间怎么办呢?
你要另给大楼分配内存才行。否则你只有门牌,没有楼。
例如:
char *buff; -- buff是存放字符大楼门牌的单元
buff = (char *) malloc(32*sizeof(char)); -- 给钉了门牌号“buff“的大楼,建造32个放间,每个房间大小是一个字符。
程序中有时不用malloc来给指针分配对象,而用另一种方法,让指针有个对象(或对象有个指针),例如:
float *p; -- p是存放浮点大楼门牌的单元
float a[100]; -- 浮点大楼
a[9] = 9.0;
p = &a[0];
printf("%f\n",p[9]);
上面的p = &a[0]; &a[0]算出浮点大楼的门牌号,把门牌号码放到存放门牌号码的单元p. 以后用p去找浮点大楼的放间。
C语言中的指针与对象常令人混淆不清,但为什么要弄出个指针呢?这是为了加快运算寻址速度,提高程序效率。
区别,,,大大的不同
联系,,似乎不怎么多
他们的差别简直是一个天上一个地下,
我看您还是别问了,
差别太大了。
几乎没有共同点,
当然是有联系,
可是这个联系就谈论好像一个茶杯和一辆汽车之间的联系差不多
压根不用去考虑这个问题
至于经典,
我觉得谈不上,
只能算是两个很重要的、很基本的概念罢了。
我能想到的惟一联系就是:
C编写C++这种面向对象的语言的时候用到了指针。
可是C不止编写C++用到了指针,
编写别的程序也用到了指针。