C语言入门学习
文章平均质量分 52
初学者学习C语言
Nothing to loss
流水不争先,争的是滔滔不绝。
展开
-
内存池与typedef
内存池与typedef内存池typedef关键字与结构体联用进阶typedef 内存池 其实就是让程序额外维护一个缓存区域。 通常使用单链表来维护一个简单的内存池。 typedef关键字 是C语言最重要的关键字之一 可以给变量起别名; 相比起宏定义的直接替换,typedef是对类型的封装 typedef int INTEGER, *PRTRINT;//指针别名的话是在后面加 int main(void) { INTEGER a = 510; PRTRINT b,c;//这个时候b,c都为int原创 2021-03-21 20:34:49 · 186 阅读 · 0 评论 -
单链表
单链表原创 2021-03-19 20:47:43 · 134 阅读 · 0 评论 -
结构体
结构体结构体 结构体 struct 结构体名称 { 结构体成员1; 结构体成员2; ...... };原创 2021-03-18 20:27:00 · 126 阅读 · 0 评论 -
高级宏定义
高级宏定义不带参数的宏定义 就算宏定义在复杂,它也只是做替换! 不带参数的宏定义 宏的名字通常全部由大写字母组成,无需在末尾加分号 宏定义的替换是在编译之前的。 作用域:从定义的位置开始到整个程序结束,可以用#undef来终止宏定义的作用域 宏定义允许嵌套 ...原创 2021-03-17 11:14:46 · 276 阅读 · 0 评论 -
递归与动态内存
递归与动态内存递归快速排序动态内存管理mallocfree内存泄漏初始化内存空间callocreallocC语言的内存布局规律堆栈堆和栈的区别 递归 递归必须要有结束条件,否则程序将崩溃! 实现递归要满足两个基本条件: 调用函数本身 设置了正确的结束条件 快速排序 基本思想:通过一趟排序将待排序数据分割成独立的两部分,其中一部分的所有元素均比另一部分的元素小,然后分别对这两部分继续进行排序,重复上述步骤直到排序完成。 动态内存管理 malloc 函数原型: -void *malloc(size_t原创 2021-03-11 21:31:40 · 446 阅读 · 0 评论 -
作用域与链接属性
作用域与链接属性作用域定义和声明概念存储类型自动变量寄存器变量静态局部变量typedef 作用域 C语言编译器可以确认4种不同类型的作用域: -代码块作用域 -文件作用域 -原型作用域 -函数作用域 定义和声明 概念 定义: 当一个变量被定义的时候,编译器为变量申请内存空间并填充一些值。 声明: 当一个变量被声明的时候,编译器就知道该变量被定义在其他地方。 声明是通知编译器该变量名及相关的类型已存在,不需要在为此申请内存空间。 局部变量既是定义又是声明。 存储类型 存储类型其实是指存储变量原创 2021-03-09 11:42:42 · 228 阅读 · 0 评论 -
函数与指针
函数函数定义可变参数指针函数函数指针 函数定义 类型名 函数名(参数列表) { 函数体 } 注意有些参数的作用域只能在该函数内作用, 例如:传值和传址的区别,就能体现变量的作用域 可变参数 #include <stdarg.h>//头文件 int sum(int n,...);//函数的声明 int sum() { va_list vap;//存放参数的链表 va_start(vap,n);//n就是指有几个参数 va_arg(vap,int);//按顺序取出参数对应的值,一般与循环结构联用 v原创 2021-03-09 10:04:59 · 79 阅读 · 0 评论 -
数组与指针
数组数组的定义数组的初始化 数组的定义 类型 数组名[元素个数] 数组的初始化 int a[3] = {1,2,3}; int a[] = {1,2,3}; int a[3] = {[0]=1, [1]=2, [2]=3};原创 2021-03-07 20:20:45 · 497 阅读 · 4 评论 -
运算符
运算符算术运算符类型转换 算术运算符 注意 在 求余运算符 中,运算符两边的 操作数 只能是整数,不然会出错! 目是什么意思呢? 在运算时,受影响的操作数的个数决定几目运算符; 类型转换 低精度会转向高精度进行运算 例如:1+2.0==1.0+2.0 但是2.0不会转换为2,因为会导致精度丢失,会打印出一个错误的数字 ...原创 2021-03-05 20:42:10 · 73 阅读 · 0 评论 -
C语言入门学习
C语言入门学习基本了解 基本了解 C语言是编译型语言 执行过程是C语言——汇编语言——机器语言——CPU执行 Java是解释型语言 执行过程是Java——字节码——解释器——CPU执行 优势: 灵活度高、效率高、可移植性高 ...原创 2021-02-28 21:11:12 · 87 阅读 · 0 评论