[数据结构]()
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("心飞教程 \n");
}

编译 & 执行 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, ...);

[引用传递]()

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

C知识要点-个人总结的更多相关文章

  1. CentOs7下systemd管理知识要点

    centOs7的一个巨大的变动就是用systemd取代了原来的System V init.systemd是一个完整的软件包,安装完成后有很多物理文件组成,大致分布为,配置文件位于/etc/system ...

  2. [CISCO] 转载:冲突域与广播域(区别、知识要点)

    [CISCO] 转载:冲突域与广播域(区别.知识要点) 1.传统以太网操作(Ethernet Connection Ethernet) 传统共享式以太网的典型代表是总线型以太网.在这种类型的以太网中, ...

  3. SDR软件无线电知识要点(三)EVM

    SDR软件无线电知识要点(三)EVM 信号质量如何评估 Noise Figure (NF) or sensitivity and Error Vector Magnitude (EVM) provid ...

  4. SDR软件无线电知识要点(一)噪声系数与噪声因子

    SDR软件无线电知识要点(一)噪声系数与噪声因子 信号质量如何评估 Noise Figure (NF) or sensitivity and Error Vector Magnitude (EVM) ...

  5. RIP 知识要点

    RIP知识要点: UDP:520 版本:v1(广播包更新) / v2(组播更新 224.0.0.9  ) 度量值:跳数(最多跳15跳,路由为16跳时路由不可达) =================== ...

  6. javascript必须知道的知识要点(二)

    该文章不详细叙述各知识要点的具体内容,仅把要点列出来,供大家学习的时候参照,或者检测自己是否熟练掌握了javascript,清楚各个部分的内容. 内建对象可划分为数据封装类对象.工具类对象.错误类对象 ...

  7. javascript必须知道的知识要点(一)

    该文章不详细叙述各知识要点的具体内容,仅把要点列出来,供大家学习的时候参照,或者检测自己是否熟练掌握了javascript,清楚各个部分的内容. 语句 注释 输出 字面量 变量 数据类型 typeof ...

  8. Golang 接口与反射知识要点

    目录 Golang 接口与反射知识要点 1. 接口类型变量 2. 类型断言 3. 鸭子类型 4. 反射机制 5. reflect 包 TypeOf().ValueOf() Type().Kind() ...

  9. 总结了零基础学习Java编程语言的几个基础知识要点

    很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识.本文总结了零基础学习Java编程语言的几个基础知识要点. 1先了解什么是Java的四个方面   初学者先弄清这 ...

  10. Python原来这么好学-1.3节: 知识要点总结与内容复习

      这是一本教同学们彻底学通Python的高质量学习教程,认真地学习每一章节的内容,每天只需学好一节,帮助你成为一名卓越的Python程序员: 本教程面向的是零编程基础的同学,非科班人士,以及有一定编 ...

随机推荐

  1. EIP-uni-app框架-建立项目

    uni-app介绍 uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS.Android.H5.小程序等多个平台.uni-app在跨端数量,扩展能力, ...

  2. 使用DDE传输数据至SQL Server

    DDE即是Dynamic Data Exchange,相关可以搜索MSDN在线帮助. 想把SPC-Light的数据传送至SQL Server中.刚开始是尝试了<Transfer data to ...

  3. centos7.4版本安装nmon监控软件

    一.检查安装环境 # uname –a (查看操作系统信息,所检查服务器为64位操作系统) Linux iZ94pmb2p24Z 2.6.32-431.23.3.el6.x86_64 #1 SMP T ...

  4. No module named 'numpy.core._multiarray_umath'

    问题:基于anaconda prompt 安装好TensorFlow框架以后,引入的时候(import tensorflow as tf)报如下图片的错误: 回答:网上好多人说是需要升级numpy,我 ...

  5. spark(2.2) - spark-shell RDD编程

    [基本操作] 1* 从文件系统中加载数据创建RDD -> 本地文件系统 ->HDFS 2* 转换操作 [ 会创建新的RDD ,没有真正计算 ] >> filter() > ...

  6. Pandas——修改DataFrame列名

    #生成一个数据框 import pandas as pd a = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]}) #直接修改:缺点必须写明每 ...

  7. 「BZOJ3065」带插入区间第K小值 替罪羊树×线段树

    题目描述 从前有\(n\)只跳蚤排成一行做早操,每只跳蚤都有自己的一个弹跳力\(a_i\).跳蚤国王看着这些跳蚤国欣欣向荣的情景,感到非常高兴.这时跳蚤国王决定理性愉悦一下,查询区间\(k\)小值.他 ...

  8. the swap trick用于锐减过剩容量

    1.由于vector的复制构造函数只为被复制的vector分配它所需要的空间,故可以用如下的方式来削减vector v中过剩的容量:vector<int>(v).swap(v) 2.the ...

  9. 解决spring使用动态代理

    解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ... 转 ...

  10. C语言中Extern用法

    extern用在变量或函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”. extern修饰变量的声明. 举例:若a.c中需引用b.c中的变量int v,可以在a.c中声明extern ...