C知识要点-个人总结

[数据结构]()
C 结构体、C 共用体、C 数组、C 指针、、、、、

存储类、auto、register、static、extern

C 函数、定义函数、返回类型、函数名称、参数、函数主体、返回语句、函数声明、调用函数、控制权、函数参数、可变参数(...)、传值调用、引用调用、

--------------------------------------------------
Functions、The type of functions、Declaring functions、The return statement、Arguments to functions、Function prototypes、Argument Conversions、Function definitions、Compound statements and declarations、
函数、声明函数、函数返回值、
--------------------------------------------------
对象是命名的存储区域; 左值是指向对象的表达式
通过赋予变量类型和名称来声明变量(例如 int k;)
通过给它一个类型和名称(例如int * ptr)来声明指针变量,其中星号告诉编译器名为ptr的变量是一个指针变量,该类型告诉编译器指针指向的类型(整数)在这种情况下)。
声明变量后,我们可以通过在其名称前面加上一元&运算符来获取其地址,如&k。
我们可以通过使用* ptr中的一元'*'运算符来“取消引用”指针,即引用它指向的指针的值。
变量的“左值”是其地址的值,即它存储在存储器中的位置。变量的“rvalue”是存储在该变量中的值(在该地址处)。

预处理器指令、函数、变量、语句 & 表达式、注释

# include <stdio.h>
int main()
{
/*这里是注释*/
printf("心飞教程 
");
}

编译 & 执行 C 程序、C 的令牌(Tokens)
C 数据类型、基本类型、枚举类型、void 类型、派生类型
派生类型:`指针类型`、`数组类型`、`结构类型`、`共用体类型`、`函数类型`
算术类型:包括两种类型:`整数类型`和`浮点类型`

整数类型:`char `、`unsigned char`、`signed char`、`int`、`unsigned int`、`short `、`unsigned short`、`long `、`unsigned long`
浮点类型:`float `、`double `、`long `、`long double`

C 中的`变量定义`、C 中的`变量声明`、C 中的`左值(Lvalues)`和`右值(Rvalues)`
C 常量、字面量、整数常量、浮点常量、字符常量、字符串常量、
定义常量:`#define 预处理器`、`const 关键字`

C 存储类、`auto 存储类`、`register 存储类`、`static 存储类`、`extern 存储类`

C 运算符、算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、杂项运算符
杂项运算符:`sizeof() 变了大小`、`& 变量地址`、`* 指向一个变量`、`? : 条件表达式`

C 函数、定义函数、函数声明、调用函数、函数参数、参数调用、引用调用

C 数组、`type arrayName [ arraySize ];`、`double username[10];`、

C enum(枚举)、`enum 枚举名 {枚举元素1,枚举元素2,……};`、


C 指针、`指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址` 、`type *var-name;`、 `int *ip; /*一个整型的指针*/`

C 中的 NULL 指针、函数指针、

回调函数、

回调函数
函数指针作为某个函数的参数、
函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数、
简单讲:回调函数是由别人的函数执行时调用你实现的函数

C 字符串、C 结构体、`struct 语句`、C 共用体、`union 语句`、C 位域、
C typedef、C 输入 & 输出、stdin、stdout、stderror
getchar() & putchar() 函数、gets() & puts() 函数、scanf() 和 printf() 函数、

C 文件读写、C 预处理器、C 头文件、C 强制类型转换
、整数提升、C 错误处理、C 递归、C 可变参数、C 内存管理、C 命令行参数、


#

[C 结构体]()

结构是 C 编程用户自定义的数据类型,
允许存储不同类型的数据项、结构用于表示一条记录

[C 共用体]()

共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。
您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。
共用体提供了一种使用相同的内存位置的有效方式。

[返回值]()

函数可以返回C支持的任何类型(数组和函数除外),包括指针、结构和联合。
对于无法从函数返回的类型,通常可以通过使用指针来回避限制。

函数可以递归调用。
函数可以返回您可以声明的任何类型,除了数组和函数(您可以通过使用指针在某种程度上绕过该限制)。 返回无值的函数应返回void。
始终使用函数原型。
如果在程序中的任何位置调用或定义函数,则会导致未定义的行为,除非原型始终在每个调用或定义的范围内,或者您非常非常小心。
假设您正在使用原型,函数调用的参数值将转换为形式参数的类型,就像使用=运算符分配它们一样。
不带参数的函数应该有一个带有(void)作为参数规范的原型。
采用可变数量参数的函数必须至少使用一个命名参数; 变量参数由...表示,如下所示:
int
vfunc(int x, float y, ...);


[引用传递]()

通过引用传递方式,形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。
传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问

原文地址:https://www.cnblogs.com/xiaofeifei-wang/p/10488984.html