C指针(转)
来源:互联网 发布:抽签软件 编辑:程序博客网 时间:2024/04/28 15:47
指针。
它的本质是地址的类型。在许多语言中根本就没有这个概念。但是它却正是C灵活,高效,在面向过程的时代所向披靡的原因所在。因为C的内存模型基本上对应了现在von Neumann(冯·诺伊曼)计算机的机器模型,很好的达到了对机器的映射。不过有些人似乎永远也不能理解指针【注1】。
注1:Joel Spolsky就是这样认为的,他认为对指针的理解是一种aptitude,不是通过训练就可以达到的
http://www.joelonsoftware.com/pr ... /fog0000000073.html
指针可以指向值、数组、函数,当然它也可以作为值使用。
看下面的几个例子:
int* p;//p是一个指针,指向一个整数
int** p;//p是一个指针,它指向第二个指针,然后指向一个整数
int (*pa)[3];//pa是一个指针,指向一个拥有3个整数的数组
int (*pf)();//pf是一个指向函数的指针,这个函数返回一个整数
后面第四节我会详细讲解标识符(identifier)类型的识别。
1.指针本身的类型是什么?
先看下面的例子:int a;//a的类型是什么?
对,把a去掉就可以了。因此上面的4个声明语句中的指针本身的类型为:
int*
int**
int (*)[3]
int (*)()
它们都是复合类型,也就是类型与类型结合而成的类型。意义分别如下:
point to int(指向一个整数的指针)
pointer to pointer to int(指向一个指向整数的指针的指针)
pointer to array of 3 ints(指向一个拥有三个整数的数组的指针)
pointer to function of parameter is void and return value is int (指向一个函数的指针,这个函数参数为空,返回值为整数)
- C指针(转)
- C指针(转)
- C指针(转)
- C指针---指向指针的指针(转)
- (转)指针数组和数组指针(C)
- C++primer 4.4 数组指针和指针数组(转)
- 关于C/C++指针(转)
- c语言之far指针(转)
- C语言指针参数讲解(转)
- c函数指针详解(转)
- 彻底搞定C语言指针(转)
- [C/C++] 指针(详解)
- 转,C指针详解
- C指针【转】
- C指针(转)
- C指针(转)
- [c]指针 【转】
- [转]详解C指针
- 新生报到
- db
- C++基础语法知识点归纳III
- uml homwork
- 我的java学习之路(二)
- C指针(转)
- SQL SERVER 之 with check option 功能
- css(scrollbar-base-color and list-style-type)
- 关于情绪
- FPGA学习中的小知识3
- 今天学习 菜单的编辑
- 如何打jar包
- 3G
- 网页技巧