C语言知识点笔记
文章目录
- C语言知识点笔记
- 前言
- 1.那些语句不用”;”结尾
- 2.uint32,uint16等整形数据类型属于stdint.h头文件
- 3.int *p1 , char * p2 之间的区别
- 4.相同类型指针相加减
- 5.如何将int *p 指定指定地址为0x1000 000并赋值1234 5678;
- 6.结构体的几种定义方式
- 7.static关键字的作用
- 8.extern如何使用
- 9.程序的数据分别在内存中的哪个位置
- 10.fd文件描述符 和 FILE流 操作文件的区别?(暂缺)
- 11.指针常量和常量指针区别
- 12.指针: *p , &p , p 之间的区别
- 13.const变量定义时必须初始化;
- 14.结构体对齐概念
- 15.空结构体大小(我的vs2015编译器不支持空结构体至少要一个成员所以不讨论)网上都说是1。Student a,b;
- 16.结构体名,结构体地址,结构体第一个成员的地址和值四者之间的关系
- 17.结构体位域的概念
- 18.prinf(“”,i++,i,i+1,i-1)的值,从左向右执行。
- 19.大小端的定义:小地址存小数据=小端否则为大端。检测方式可以用union或者使用指针的方式(char指向int)。
- 20.大小端存储方式由cpu决定,与编译器或系统无关。
前言
注:部分截图来自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决定,与编译器或系统无关。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)