c语言知识重温及深入

1.定义是什么?声明是什么?
A)int i;
B)extern int i;

定义就是编译器创建一个对象,为这个对象分配一个内存并取名字,就是变量名或对象名,并且这个变量和内存就被被捆绑在一起,不可分割,内存也不可改变,同时在一定区域(函数,全局)不可以重复定义一个变量;

声明有两个含义,一是告诉编译器这个变量已经和内存匹配了,下面的代码用到的变量是在别处定义的,声明可以出现多次;二是告诉编译器已经预定了这个变量,别的地方不能再用来做变量名

定义与声明的区别就是定义已经分配了内存,而声明没有。

2.register关键字
这个关键字请求编译器尽可能的吧变量存在CPU内部寄存器,而不是通过内存寻址操作访问,以提高效率。

3.寄存器——CPU的数据中转站
用于Cpu读取数据效率提高

4.static关键字
在函数中定义,用于函数执行结束后,变量数据不被销毁

5.c数据结构类型
在这里插入图片描述
6.命名规则!!!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上命名规范要好好注意并严格执行,都是坑,深有体会

7.signed和unsigned
signed是有符号,可不写;unsigned是无符号
注意:无符号不包含负数;如char的范围是-128~127,unsigned char范围是0~127

注意范围溢出!!!

8.switch-case语句
按执行频率排case!!
case后加break;除非有意不加
加上default:break;

9.while(1)死循环
妙用

while(1)
{
	if('#'=GetInputChar())
	{
		break;//指定情况让程序停下来
	}
}

10.break和continue
break表示停止本层循环
continue表示停止本次循环

11.循环写法的注意点
1.长循环放里面,短循环放外面,提高cpu效率
2.推荐半开半闭写法
3.循环尽可能短
4.控制在3层嵌套循环

12.禁用goto语句
13.typedef
typedef是给已经存在的饿数据结构换一个名字(不是变量!)
typedef不支持拓展,下面举例

14.#define 宏定义
在这里插入图片描述
E可编译
F不可以
因为#define作用是替换,而typedef不是替换,且不支持拓展

15.注释规范要求
在这里插入图片描述
在这里插入图片描述
16.常见优先级问题

在这里插入图片描述

17.函数写法规范
在这里插入图片描述
2.每个函数结束后以及每个文件结束之后都要加上几行空行
3.变量定义与函数语句之间加上空行
在这里插入图片描述

6.用缩行显示程序结构,使排版整齐,缩进量统一使用4个字符(用sublime text3编写嘻嘻)

猜你喜欢

转载自blog.csdn.net/qq_41262681/article/details/88907193