《C和指针》笔记

来源:互联网 发布:自学英语软件 编辑:程序博客网 时间:2024/05/17 03:26

1.要从逻辑上删除一段C代码,更好的办法是用#if指令,即使这中间有注释也无防,而用/**/则中间也有注释的话可能会出错。#if   statement  #endif

2.stdio.h头文件使得可以访问I/O标准库中的函数,用于执行输入输出;stdlib.h定义了EXIT_SUCCESS和EXIT_FAULURE;string.h提供的函数来操作字符。

3.预处理指令:是由处理器解释的,预处理器读入源代码,根据其对代码修改然后把修改过的源代码递交给编译器(#include   #define都是预处理)

4.if语句:else子语句从属于最靠近它的不完整的if语句。

5.while中的continue:用它永久终止当前的那次循环,在执行continue语句之后,循环内剩余部分不执行,执行流接下来就是重新测试表达式的值,决定是否继续执行循环,当循环体只遇到某些值才会执行的情况下,continue语句相当有用。

break:用于永久终止循环,在执行完break之后,执行流下一条执行语句就是循环正常结束应该执行的那条语句,只能影响它的最内层循环,goto  quit;可以立即从深层嵌套的循环中退出。

6.do和while:当你需要循环体至少执行一次时,选择do。

7.typedef :为各种数据类型定义新名字。eg.

char *p;把变量p声明为指向字符的指针,而typedef char *p;把标识符p作为指向字符的指针类型的新名字;语句 p  a;声明a是一个指向字符的指针。

8.条件操作符:i=a>5?b-6:c/2;可读作”a是不是大于5?是则执行i=b-6,不是则执行i=c/2;

if(a>5)i=b-6;  else  i=c/2;这两种表达方式都是只有一条语句才会执行,所以效率上一样,只是后者结构看起来臃肿而已。

9.逗号操作符:将两个或多个表达式分隔开来,这个表达式自左向右逐个进行求指,整个逗号表达式的值是最后那个表达式的值。

10.&位与,^位异或,|位或。

11.函数指针和指针函数:函数指针就是函数的入口地址,把这个入口地址赋给一个指针变量,就可以通过这个指针变量来访问这个函数;指针函数就是函数返回一个指针,这个指针指向什么类型的数据,在定义函数时已经指定。前者是地址,后者是函数。

函数指针:指向函数的指针;指针函数:返回值是指针的函数。

函数指针:int (*p_fun)();          指针函数:int  *p_fun();      //记住括号()的优先级高于*

12.指针和地址:指针和地址不能简单地划等号,指针虽是地址,但它有关联的数据类型。例如内存地址有4000,4001,4002等编码,而由于整形类型存储时需要四个字节,所以当整形变量i的指针为4000时,意味着从4000内存地址开始,连续四个字节都是i的内存单元,其他变量的指针是不可能为这四个内存地址的!




原创粉丝点击