C语言知识点笔记
前言
注:部分截图来自csdn和博客园上的大牛,如有雷同纯属懒,如需删除请联系。 每天一更,如有错误欢迎指正!!!
1.那些语句不用”;”结尾
(1)预处理 
(2)函数名后面 
(3)花括号(最后 ‘}’ 后加上等于空语句) 
2.uint32,uint16等整形数据类型属于stdint.h头文件
3.int *p1 , char * p2 之间的区别
(1)p1++; //每次地址自增加4 (2)p2++;//每次地址自增加1 (3)总:不同类型的指针之间自增每次+
4.相同类型指针相加减

5.如何将int *p 指定指定地址为0x1000 000并赋值1234 5678;

6.结构体的几种定义方式

7.static关键字的作用
(1)对于全局变量,函数来说防止重复命名和限制本文件使用 (2)对于局部变量来说延长生命周期和全局变量一样长。
8.extern如何使用
最佳使用方法:a.c中定义,a.h中extern申明,b.c中引用a.h 
9.程序的数据分别在内存中的哪个位置

10.fd文件描述符 和 FILE流 操作文件的区别?(暂缺)
11.指针常量和常量指针区别

12.指针: *p , &p , p 之间的区别

*p : 取出p保存的地址的值 P :p指针保存的地址 &p :p指针的地址
13.const变量定义时必须初始化;
14.结构体对齐概念
 
15.空结构体大小(我的vs2015编译器不支持空结构体至少要一个成员所以不讨论)网上都说是1。Student a,b;


16.结构体名,结构体地址,结构体第一个成员的地址和值四者之间的关系

总:xiaoming(结构体名) = xiaoming.name (结构体第一个成员的值) &xiaoming(结构体地址) = &xaioming.name(结构体第一个成员的地址)
17.结构体位域的概念
 
总:
- 对齐方式和前面结构体对齐一样。位域数不可超过类型的bit数。
- 当以char方式对齐:前面的bit数<1B且和后面的bit数可构成一个字节时“后面”的bit在高位。
- 当以short类型对齐:前面的bit数>1B 时且和后面的bit数构成一个short,那么后面的bit在最后补齐。
18.prinf(“”,i++,i,i+1,i-1)的值,从左向右执行。
19.大小端的定义:小地址存小数据=小端否则为大端。检测方式可以用union或者使用指针的方式(char指向int)。
20.大小端存储方式由cpu决定,与编译器或系统无关。
|