昨天和几个同学一起讨论了关于一个比赛的议题,当说到学习这方面的时候发现同学之间的距离和差距。
以为自己对学习总是三分钟热度,并且发现自己对以前的知识记忆也是模棱两可。
这样下去!实在不妥!如今为时还不晚,从基础开始一步一步。
偶看书名《C语言深度剖析》,决意记录C语言学习经历!谨以督促。
关键字
C语言中一共定义了32个关键字。分别为:
1 .数据类型关键字(12个):
(1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int: 声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) |
2 .控制语句关键字(12个):
A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与 if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) |
3 .存储类型关键字(4个)
(1)auto :声明自动变量 一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) (3)register:声明寄存器变量 (4)static :声明静态变量 |
4 .其它关键字(4个):
(1)const :声明只读变量 (2)sizeof:计算数据类型长度 (3)typedef:用以给数据类型取别名(当然还有其他作用 (4)volatile:说明变量在程序执行中可被隐含地改变 |
一直以来都对关键字和类型以及函数有着很错误的理解。
在讨论这个问题之前,在此说一下我对定义和声明的区分:
例如 :Int i ;
extern int i;
1.定义 就是对一个创建的对象,为它起好名字然后为它分配好一个属于他的内存空间。 并且一个对象在一个区域内只能被定义一次,不能定义多次。
2.声明 就是创建一个对象,
a.提前为它匹配一个内存空间,就相当于预定。我不一定现在就要使用,但是这个东西是我的,你别人不能用。
b.提前声明,但是不用,可以在后面需要用的时候再定义。
所以声明和定义的区别就是,定义已经分配了内存空间,而声明只是提前预定但是没有分配,等到需要用的时候再定义分配就好了。