C 语言基础笔记
1. 有哪些标准
C11 》 C99
2. 数据类型
常用基本: char,short,int(long/ float),double
其他类型:void类型,派生类型(指针,数组,结构体),枚举类型
3. 变量定义
extern 用来声明变量(单文件内可省略)
extern int a,b;
const 用来声明常量
const type var = value
define 用来预处理
- 存储类型
atuo 存储内部类型(默认可省)
register 寄存器存储类型
static 静态存储类型(全局)extern 外部引用外部(共享) 4. 运算符- 算术运算符 +, - ,*,/ ,%,++,--
- 关系运算符 >,< ,==,!=
- 逻辑运算符 &&, ||, !
- 位运算符 <<, >>, |, ~,&,^
- 赋值运算符 = ,+=,*=,
- 杂项运算符 sizeof() 取变量空间,& 取变量地址,* 指向变量,? 条件运算(三目)
取地址&,指针*,自加++,自减--, 》 算术乘法除法*/ 》 关系运算 》 赋值运算
5. 语句
条件语句:if else、switch、三目运算
循环语句:for, while, do - while。 另外循环控制语句 break,continue,goto
6. 函数
声明: 返回类型+函数名称+ 参数
定义:
int max(int num1,int num2); //声明
void max(spar1,spar2) //定义 { }
c = max(a,b) //函数调用
/*
传递参数有两种,一种是按照值传递,一种是按照指针传递。指针用来改变返回值。
*/
7. 数组
初始化数组
int arr[5]= {1,2,3,4,5}
char str[5]={'h','e','l','l','\0'}
8. 指针
指针 是一个派生类型的变量,其存储值是个地址。
var = 100; int *p // 定义int* 类型 p =&var // 指针变量的值是存放var 的地址
int(*pm)(int,int)= &max // 将max() 函数的地址 存放至pm指针变量中
9.结构体
struct Books { char title[50]; char author[10]; int book_id; }book;
//结构体成员访问
book.title
指针结构体时,使用book->title
10. 共用体
union book { int i; float f; char str[20]; }book;
// 公用成员访问
book.str
1. typedef 和 define 的区别
#define 是C 预处理指令,不仅可以定义别名,还可以配置标志
typedef 定义关键字