C语言
文章平均质量分 93
天將明°
这个作者很懒,什么都没留下…
展开
-
【C语言】进阶第7节——程序的编译(预处理操作)+链接
本章重点:程序的翻译环境程序的执行环境详解:C语言程序的编译+链接预定义符号介绍预处理指令 #define宏和函数的对比预处理操作符#和##的介绍命令定义预处理指令 #include预处理指令 #undef条件编译1. 程序的翻译环境和执行环境在ANSI C的任何一种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。2. 详解编译+链接2.1 翻译环境例如之前的通讯录代码:组原创 2022-05-03 18:54:06 · 385 阅读 · 0 评论 -
【C语言】进阶第6节——文件操作
本章重点为什么使用文件什么是文件文件的打开和关闭文件的顺序读写文件的随机读写文本文件和二进制文件文件读取结束的判定文件缓冲区1. 为什么使用文件我们前面学习结构体时,写了通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯录程序的时候,数据又得重新录入,如果使用这样的通讯录就很难受。我们在想既然是通讯录就应该把信息记录下来,只有我们自己选择删除数据的原创 2022-05-02 15:54:14 · 247 阅读 · 0 评论 -
【C语言】进阶第5节——动态内存管理
本章重点为什么存在动态内存分配动态内存函数的介绍mallocfreecallocrealloc常见的动态内存错误几个经典的笔试题柔性数组1. 为什么存在动态内存分配我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节char arr[10] = { 0 };//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点:空间开辟大小是固定的。数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是原创 2022-04-30 16:03:03 · 146 阅读 · 0 评论 -
【C语言】进阶第4节——自定义类型详解(结构体+枚举+联合)
本章重点结构体结构体类型的声明结构的自引用结构体变量的定义和初始化结构体内存对齐结构体传参结构体实现位段(位段的填充&可移植性)枚举枚举类型的定义枚举的优点枚举的使用联合联合类型的定义联合的特点联合大小的计算1. 结构体的声明1.1 结构的基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。1.2 结构的声明struct tag{ member - list;}variable - list;原创 2022-04-28 15:12:47 · 4817 阅读 · 0 评论 -
【C语言】进阶第3节——字符串函数和内存函数
本章重点求字符串长度strlen长度不受限制的字符串函数strcpystrcatstrcmp长度受限制的字符串函数介绍strncpystrncatstrncmp字符串查找strstrstrtok错误信息报告strerror字符操作内存操作函数memcpymemmovememsetmemcmp0. 前言C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串 中或者 字符数组 中。原创 2022-04-26 15:58:36 · 116 阅读 · 0 评论 -
【C语言】进阶第2节——指针的进阶
指针的主题,我们在初级阶段的《指针》章节已经接触过了,我们知道了指针的概念:指针就是个变量,用来存放地址,地址唯一标识一块内存空间。指针的大小是固定的4/8个字节(32位平台/64位平台)。指针是有类型的,指针的类型决定了指针的±整数的步长,指针解引用操作的时候的权限。指针的运算。这个章节,我们继续探讨指针的高级主题。1. 字符指针在指针的类型中我们知道有一种指针类型为字符指针 char* ;一般使用:int main(){ char ch = 'w'; ch.原创 2022-04-21 16:48:52 · 221 阅读 · 0 评论 -
【C语言】进阶第1节——数据的存储
1. 数据类型介绍前面我们已经学习了基本的内置类型:char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数//C语言有没有字符串类型?以及他们所占存储空间的大小。类型的意义:使用这个类型开辟内存空间的大小(大小决定了使用范围)。如何看待内存空间的视角。1.1 类型的原创 2022-04-17 10:22:57 · 191 阅读 · 0 评论 -
【C语言】初级第8节——实用调试技巧
1.什么是bug?第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误。注:2. 调试是什么?有多重要?所有发生的事情都一定有迹可循,如果问心无愧,就不需要掩盖也就没有迹象了,如果问心有愧,就必然需要掩盖,那就一定会有迹象,迹象越多就越容易顺藤而上,这就是推理的途径。顺着这条途径顺流而下就是犯罪,逆流而上,就是真相。一名优秀的程序员是一名出色的侦探。每一次调试都是尝试破案的过程。2.1 调试是什么?调试(英语:Debugging / Debug),又称除错,是发现和减原创 2022-04-13 15:29:53 · 472 阅读 · 0 评论 -
【C语言】初级第7节——结构体
1. 结构体的声明1.1 结构的基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。1.2 结构的声明为了定义结构,必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:struct tag{ member-list; member-list; member-list; ...}variable-list;tag 是结构体标签。member-list 是标准原创 2022-04-12 14:34:17 · 237 阅读 · 0 评论 -
【C语言】初级第6节——指针
1. 指针是什么?指针是什么?指针理解的2个要点:指针是内存中一个最小单元的编号,也就是地址平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量总结:指针就是地址,口语中说的指针通常指的是指针变量。那我们就可以这样理解:内存指针变量我们可以通过&(取地址操作符)取出变量的内存其实地址,把地址可以存放到一个变量中,这个变量就是指针变量#include <stdio.h>int main(){ int a = 10; //在内原创 2022-04-11 19:57:49 · 1041 阅读 · 0 评论 -
【C语言】初级第5节——操作符详解
1. 操作符分类算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用、函数调用和结构成员2. 算术操作符运算符意义说明+加法-减法如果减去一个负数,则-左右必须加空格*乘法/除法两个整数相除结果是整数(小数部分被截取);两个数中有一个是浮点数,其结果就是浮点数%取模求整数除法的余数,其正负取决于被除数除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。原创 2022-04-10 23:23:07 · 1277 阅读 · 0 评论 -
【C语言】初级第4节——数组
数组在 C语言中我们可以定义如 int、char、float 等多种类型的变量,但是这样的变量当中只能存放一个数据,当我们需要存储大量数据时就显得比较麻烦。比如我们要存储全校 1200 名学生的成绩时,用这种方法就得定义 1200 个变量,这个工作量也太大了。幸好 C语言给我们提供了“数组”,当需要保存大量数据时就可以利用“数组”来处理。数组可以存储一组具有相同数据类型的值,使它们形成一个小组,可以把它们作为一个整体处理,同时又可以区分小组内的每一个数值。比如一个班 50 名同学的数学成绩,就可以保存在原创 2022-04-09 15:43:46 · 1402 阅读 · 0 评论 -
【C语言】初级第3节——函数
1. 函数是什么?数学中我们常见到函数的概念。但是你了解C语言中的函数吗?维基百科中对函数的定义:子程序在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码, 由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性。一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。原创 2022-04-06 19:54:13 · 274 阅读 · 0 评论 -
【C语言】初级第2节——分支语句和循环语句
1.什么是语句C语句可分为以下五类:表达式语句函数调用语句控制语句复合语句空语句控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言有九种控制语句。可分成以下三类:条件判断语句也叫分支语句:if语句、switch语句;循环执行语句:do while语句、while语句、for语句;转向语句:break语句、goto语句、continue语句、return语句。2. 分支语句(选择结构)C语言选择结构也称原创 2022-03-31 21:40:12 · 969 阅读 · 0 评论 -
【C语言】初级第1节——初始C语言
初步认识什么是C语言原创 2022-03-29 17:43:01 · 2704 阅读 · 0 评论