首页 > 技术文章 > 01——C语言基础知识

Record-experience 2021-02-02 09:41 原文

1 环境设置有  文本编辑器   +  C代码编译器

2 预处理器指令 以‘#’开头。例如:#include <stdio.h> 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件  

 预处理命令直接与C编译器对话,后面的条件编译什么的都是依据于 预处理命令

3 标识符:C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称  简而言之,标识符 就是用户自己定义的

4 关键字:系统已经定义好的,用户不能再重复定义

5 C语言数据类型 :数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统.(特别注意数据类型,不仅仅包括变量还有函数)

 变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式

  基本类型(整形和浮点型) 枚举类型 (隶属于基本类型) void类型(表明没有可用的值) 派生类型(数组 指针 结构体 联合体 函数)

  为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小

  类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。

  最好可以举个例子:(以后填充)

6  变量:变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,

    该范围内的值都可以存储在内存中,运算符可应用于变量上,变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。

    变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表

7 变量的声明 : 特别注意在变量声明的时候切记不可再初始化,函数无需再用 extern 声明,其他的类型不可省略

8 C常量 :常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量

  数值常量(整数+浮点型)字符串常量(“ABCDEFD”)字符常量 

  定义常量(#define Pi 3.1415)

  const 关键字 关键字const用来定义只读变量,被const定义的变量它的值是不允许改变的,即不允许给它重新赋值,

  即使是赋相同的值也不可以。所以说它定义的是只读变量,这也就意味着必须在定义的时候就给它赋初值

  http://cnblogs.com/lanhaicode/p/11184505.html  可以参考这个博客主的博客,写的很清楚

9 C存储类

  auto 存储类是所有局部变量默认的存储类。auto 只能用在函数内,即 auto 只能修饰局部变量

  register 存储类用于定义存储在寄存器中而不是 RAM 中的局部变量

  static 存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。

     因此,使用 static 修饰局部变量可以在函数调用之间保持局部变量的值。

     static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内

  extern 存储类用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的

10 C 语言把任何非零非空的值假定为 true,把或 null 假定为 false

11 初始化局部变量和全局变量 

    当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。定义全局变量时,系统会自动对其初始化,如下所示:

数据类型初始化默认值
int 0
char ''
float 0
double 0
pointer NULL

         正确地初始化变量是一个良好的编程习惯,否则有时候程序可能会产生意想不到的结果,因为未初始化的变量会导致一些在内存位置中已经可用的垃圾值

12 

推荐阅读