一,数据类型和变量
数据类型
- 内置类型
- 字符型
- 整型
- 浮点型
- 布尔类型
- 自定义类型
- 数组
- 结构体
- 枚举
- 嵌合体
字符型
char
整型
int:整型
short [int]=short:短整型
long [int]=long:长整型
long long [int]=long long:更长的整型
浮点型
float:单精度浮点型 6-7位
double:双精度浮点型 15-16位
long double:精度更高的浮点型
布尔类型
头文件为:#include<stdbool.h>
0为假,(非0为真)1为真
_Bool n=true;/ / false 或者
bool n=true;/ / false
数据类型的长度
sizeof 操作符,计算操作符数(可以是类型,变量,表达式(但是表达式不计算))的类型长度(单位为字节)
sizeof返回值的类型是size_t的,该值打印使用%zd
strlen同上
sizeof(long)>=sizeof(int)
sizeof(long double)>=sizeof(double)
计算机中常见单位
bit=一个二进制位的空间
一个字节=8 bit
signed和unsigned
signed和unsigned能修饰整型和字符型
signed带正负号,包含负值,可省略 即signed int=int,但signed char不一定等于char
unsigned不带符号,表示0和正整数,同样内存表示的最大整数值,能增大一倍
%d–>打印有符号整型数据
%u–>打印无符号整型数据
数据类型的取值范围
limits.h包含整型取值范围
float.h包含浮点型取值范围
字符串
字符串之间比较大小,用strcmp函数 / / 即string compare
strcmp如果判断两个字符串相等,则返回0
变量
变量的创建:数据类型+变量名
初始化:创建的同时,给上初始值
变量的分类
全局变量:全局范围可使用,未初始化时,编译器默认给0
局部变量:局部范围可使用,未初始化时,编译器随机给值
全局和局部变量名字一样,且都可使用的情况下,局部优先
内存:栈区,堆区,静态区
栈区:局部变量,函数参数
静态区:全局变量,静态变量
*堆区:动态内存管理