码迷,mamicode.com
首页 > 其他好文 > 详细

深入理解C关键字全面总结

时间:2015-08-27 00:31:11      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:c语言   关键字   

        学习C语言也有几年的时间了,可能很多人跟我一样,都不知道C语言有多少个关键字,具体用法是怎么用都不是很了解或知道一点。
今天总结发现C语言关键字竟然达32个,下面就娓娓道来,由于写的比较仓促,难免存在错误!还请各位见谅!

                           C语言标准定义的32个关键字

auto 声明自动变量,缺省时编译器一般默认为auto
int 声明整理变量
double 声明双精度变量
long 声明长整型变量
char 声明字符型变量
float 声明单精度浮点变量
short 声明短整型变量
signed 声明有符号类型变量
unsigned 声明无符号类型变量
struct 声明结构体变量
union 声明联合数据类型
enum 声明枚举类型
static 声明静态变量
switch 用于开关语句
case 开关语句分支
default 开关语句的其它分支
break 跳出当前循环
register 声明寄存器变量
const 声明只读变量
volatile 说明变量在程序执行中可被隐含地改变
typedef 用以给数据类型取别名
extern 声明变量是在其他文件中声明(也可看作引用变量)
return 子程序返回语句(可以带参数,也可以不带参数)
void 声明函数无返回值或无参数、声明空类型指针
continue 结束当前循环,开始下一轮循环
do 循环语句的循环条件
while 循环语句的循环条件
if 条件语句
else 条件语句否定分支
for 一种循环语句(可意会不可言传)
goto 无条件跳转语句
sizeof 计算对象所占内存空间大小









































      下面挑选一些比较重要,容易将用法和概念混淆的关键字进行总结,以下内容是本人查找资料进行整理的。

一、Const

      const从字面是恒定不变的意思,也翻译成常量和常数,可能正因为这一点,很多人都认为被const修饰的值是常量,这不精确,精确来说应该是只读变量,其值在编译时不能被使用。

      1、Const作用

             (1)可以定义定义const常量:const int MAX = 100;
             (2)便于进行类型检查:const常量有数据类型,而宏常量没有数据类型,

             (3)可以保护被修饰的东西:防止意外的修改,增强程序的健壮性。

             (4)可以很方便的进行参数的调整:同宏定义一样,可以做到不变则已,一变都变。

             (5)提高了效率:编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中。

             示例程序:

             #define   M      3                    //宏常量

             const  int  N = 5;                    //此时并未将N放入内存中

             .......

             int  i = N;                                //此时为N分配内存,以后不再分配

             int  I = M;                                //预编译期间进行宏替换,分配内存

             int  j = N;                                //没有内存分配

             int  J = M;                                //再进行宏替换,又一次分配内存

       2、Const的变量和指针使用

             (1)定义常量:const修饰类型的变量value是不可变的,以下两种定义形式在本质上是一样的。

                     int const ValueName = value;

                     const int ValueName = value;

             (2)指针使用const

                a. 指针本身是常量不可变

                     char* const pContent;

                b. 指针所指向的内容是常量不可变

                     char const* pContent;

                c. 两者都不可变

                     const char* const pContent;

                d. 区别方法

                   在*中间画一条线,如const在*左边,则const修饰指向的变量,如cosnt在*右边,const修饰指针本身。

      3、函数中使用Const

             (1)const修饰函数参数     

                a. 传递过来的参数在函数内不可变(无意义,因为Var本身就是形参)

                      void function(const int Var);

                b. 参数指针所指内容为常量不可变

                      void function(const char* Var);

               c. 参数指针本身不可变(无意义,因为char * Var也是形参)

                       void function(char* const Var);

               d. 参数为引用,为了增加效率同时防止修改,参数不可变--C++特性

                       void function(const Class & Var);

             (2)const修饰函数返回值

               const修饰函数返回值其实用的并不是很多,它的含义和const修饰普通变量以及指针的含义基本相同。

               a.  const int fun1() ;      //这个其实无意义,因为参数返回本身就是赋值

               b.  const int * fun2();    //调用时使用const int *pValue = fun2();

                                                      //我们可以把fun2()看成一个变量,即指针内容不可变

               c.  int * const fun3();    //调用时使用int* const pValue = fun3();

                                                      //我们可以把fun3()看成一个变量,即指针本身不可变




后续继续更新。。。。     


版权声明:有不正确的地方,还望各位指正指导,Thanks!

深入理解C关键字全面总结

标签:c语言   关键字   

原文地址:http://blog.csdn.net/a544258023/article/details/48013757

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!