Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1673340
  • 博文数量: 124
  • 博客积分: 4078
  • 博客等级: 中校
  • 技术积分: 3943
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-21 11:28
个人简介

新博客:http://sparkandshine.net/

文章分类

全部博文(124)

分类: C/C++

2010-11-02 18:58:35

摘要:
     指针的重要性不言而喻,既是重点也是难点。可以配合小工具cdecl(C gibberish↔English,即部分C代码与英文互译)来理解指针,相当有效。

    指针的重要性不言而喻,既是重点也是难点。今天看了《C和指针》部分内容(13.2)。个人认为,配合小工具(C gibberish↔English,即部分C代码与英文互译)来理解指针,相当有效。不可否认的是,有些时候用中文描述显得很绕口,用英文反而更易懂。(因为中文主要是靠语义来衔接句子的,而英文主要靠语法)下面分享心得:


普通指针

/*declare i as int*/
int i; //一个整型变量

/*declare i as pointer to int*/
int *i; //一个指向整型的指针

/*注:以下并没有声明两个指针,星号只作用于f,f是指针,而g只是普通的整型变量*/
int* f,g;



指针函数

/*declare f as function returning int*/
int f();


/*declare f as function returning pointer to int*/
int *f(); /*f是一函数,其返回值类型是一个指向整型的指针*/



函数指针

/*declare f as pointer to function returning pointer to int*/
int (*f)()/*f是函数指针,其所指向的函数返回一个整型值*/

/*declare f as pointer to function returning pointer to int*/
int *(*f)(); /*f也是函数指针,其所指向的函数返回一个整型指针*/



指针数组

/*declare f as array of int*/
int f[];


/*declare f as array of pointer to int*/
int *f[]; /*f是数组,其元素类型是指向整型的指针*/

/*注:以下两种是非法声明*/
int f()[];/*函数只能返回标题,不能返回数组*/
int f[]();/*f是数组,存放返回值为整型的函数。而不同函数长度未必等长*/



数组指针

/*declare f as pointer to array of int*/
int (*f)[]; /*f是指针,指向整型数组*/



阅读(2171) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:高版本内核编译低版本内核全过程

给主人留下些什么吧!~~