![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习
文章平均质量分 85
Leslie X徐
頑張ろ
展开
-
C语言_链表操作
链表链表简介链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两部分:一个是存储数据元素的数据域,另一個是存储下一个结点地址的指针域。单链表的结点链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象)+指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。定义:typedef struct node{原创 2021-04-12 19:07:36 · 98 阅读 · 0 评论 -
C语言_常用排序算法
常用排序算法一、排序的概述1.排序的概述:排序是将无序的记录序列调整成有序序列。对记录进行排序有重要意义。如果记录按key有序,可对其折半查找,提高查找效率。在数据库和文件库等系统中,一般要建立若干索引文件(记录),就牵涉到排序问题。设含有n个记录(record)的文件f={R1 R2 … Rn},相应记录关键字(key) 集合k={k1 k2 … kn}。若对1,2,…,n的一种排列:P(1)P(2)…P(n) (1<=P(i)<=n,i!=j时,P(i)!=P(原创 2021-04-12 11:43:19 · 197 阅读 · 0 评论 -
makefile介绍
make和makefile介绍一、make和Makefile的介绍1.make和Makefile的概念make的引入原因一个软件工程中的源文件很多,按其类型、功能、模块分别放在若干个目录中,哪些文件需要先编译、后编译、重新编译、甚至更复杂的工作,这就需要一个工具来全面地、系统地进行处理。make和MakefileLinux/Unix系统有一个非常强大的实用程序,称为make,可以用它来管理多模块程序的编译和链接,直至生成可执行程序。make实用程序读取一个说明文件,称为makef原创 2021-04-08 23:33:34 · 355 阅读 · 0 评论 -
C语言高质量编码规范
C高质量编码规范一、编码规范的介绍编码规范的重要性程序员的态度:不愿意测试自己的代码;不愿意review团队队员的代码专业的程序员:写出人能读懂的代码。程序首先是给人读的,其次才是给机器读的。程序员自身在程序开发中的流程仔细设计、编写代码、单元测试、功能测试、代码review二、宏观上高质量编码规范1.版权和版本的申明版权和版本的申明位于头文件和定义文件的开头,如下:版权信息文件名称、标识符、摘要当前版本号,作者/修改者,完成日期版本历史信息/*Copyright(c原创 2021-04-05 04:13:37 · 632 阅读 · 0 评论 -
C标准库文件IO
C标准库文件IO一、文件的介绍1.C文件的概念文件:指一组相关数据的有序集合,这个数据集合的名称叫做文件名。如源程序文件、目标文件、可执行文件、头文件等。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从用户的角度看,文件可分为普通文件和设备文件两种:普通文件:指驻留在外部介质(如磁盘等)上的一个有序数据集;设备文件:指与主机相联的各种外部设备。在操作系统中,把外部设备也看作是一个文件来进行管理,把他们的输入和输出等同于对磁盘文件的读和写。从文件的编码方原创 2021-03-31 20:22:19 · 148 阅读 · 0 评论 -
C预处理
C语言 预处理一、预处理1.预处理的概念C程序编译流程:步骤阶段生成文件主要任务1预处理阶段“.i”a.宏替换 b.去注释 c.头文件展开 d.条件编译2编译阶段“.s”生成汇编代码3汇编阶段“.o”生成机器码4链接阶段“.out”生成可执行文件5运行可执行文件-运行可执行文件以“#”号开头的为__预处理指令__。在源文件中这些指令放在函数之外,一般在源文件的前面,称为__预处理部分__。所谓预处理是指原创 2021-03-31 19:19:29 · 299 阅读 · 0 评论 -
C内存动态分配
C内存动态分配一、动态内存分配1.内存分配方式静态内存区域分配内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量、static变量。地址存储高地址栈-堆-数据段低地址代码段在栈上分配在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。效率很高,但是分配的内存容量有限。从堆上分配 亦称 动态内存分配程序在运行的时候用malloc等函数申请任意多少原创 2021-03-30 16:24:10 · 177 阅读 · 0 评论 -
C指针高级&gdb高级
指针高级一、void指针和数据指针void指针的概念void的意思是“无类型”,void指针则为“无类型指针”,void指针可以指向任何类型的数据。void指针一般被称为通用指针或_泛指针_void指针的定义void *p;在C语言中,任何时候都可以用void指针来代替其它类型的指针。void指针可以指向任何数据类型的变量。如果要通过void指针去获取它所指向的变量值时,需要先将void指针强制类型转换成和变量类型相匹配的数据类型指针后再进行操作。任何类型的指针都可以直接赋值给void原创 2021-03-29 20:25:34 · 320 阅读 · 0 评论 -
C语言结构体联合
C语言结构体和联合一、结构体的介绍结构体的概念在实际问题处理中,一组数据往往具有不同的数据类型。例如在学生登记表中,姓名-字符型,学号-整型或字符型,年龄-整型,性别-字符型,成绩-整型或实型数组由于其中各元素类型长度须一致所以无法存储这组类型不同的数据C语言引入了另一种__构造数据类型__称为结构(structure)或叫结构体。结构体是一种构造类型,它是由若干成员组成的,每一个成员可以是一个基本数据类型或者又是一个构造类型。结构体的声明结构体在使用之前需要先声明结构体结构原创 2021-03-26 17:34:23 · 861 阅读 · 0 评论 -
C字符串高级
字符串一、字符串和字符数组字符串和字符数组的概念在c语言中字符串(字符串常量)是用双引号括起的任意字符序列,在字符串中也可以包含转义序列。如:“Please enter your name: \n”字符数组是用来存放字符的数组,字符数组中的一个元素存放一个元素。字符串是一个以结束符’\0’为结尾的字符数组,数组中的每一个元素都可以存放一个字符,数组元素的类型为char。在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串,而且字符串末尾有一个结束符’\0’字符数组的初原创 2021-03-25 16:12:17 · 123 阅读 · 0 评论 -
C语言基础条件和循环
C语言基础–条件和循环条件结构if-else结构:if(条件语句){执行体};if(条件语句1){执行体1};else if(条件语句2){执行体2};else if(条件语句3){执行体3};else {执行体4}switch-case结构:swicth中表达式一定是整型case中语句结束前要加Break,否则后面的case语句仍会执行。多case可以执行同一组语句case后面不能加声明,不然会报错。default语句可以在任意位置switch(){ case()原创 2021-03-24 20:10:15 · 789 阅读 · 0 评论 -
C函数高级
C函数高级一、函数返回函数的返回值函数的返回值是指函数被调用后,执行函数体中的程序段所取得的并返回给主调函数的值。函数的返回值只能通过return语句返回主函数。return语法:return 表达式;或者return (表达式);return语句的实现机制执行return语句时,先计算return后面的表达式的值,再将值返回给主调函数。函数中允许有多个return语句,但每次调用只能有一个return语句被执行,因此只能返回一个函数值。实际上,函数的右花括号具有retur原创 2021-03-21 21:58:07 · 230 阅读 · 0 评论 -
C语言指针基础
C语言 指针基础指针的作用:有效处理复杂数据方便使用数组和字符串用于函数参数传递,灵活使用函数能像汇编语言一样处理内存地址,使程序精炼高效变量的地址:内存是以字节为单位进行编址的,内存中的每一个字节都对应一个地址,通过地址才能找到每个字节变量对应内存中的一个存储单元,该存储单元占用一定的字节数,用这存储单元的第一个字节的地址表示变量的地址。如:一个int类型的存储单元为4个字节,即4个内存单元,取第一个内存单元的地址即首地址作为变量的地址。指针:变量的地址称为指针指针是一个原创 2021-03-18 22:08:26 · 792 阅读 · 0 评论 -
C语言基础学习
C语言基础语言:机器语言,汇编语言,高级语言起源:CPL语言–>BCPL语言–>B语言(UNIX) -->C语言(D.M.Ritchie:C语言之父)标准:1978:标准C -->1983:ANSI C -->1990:C90 -->1999:C99特点:开发流程:分析问题,编写程序(.c),编译(.o),链接(ELF可执行和链接的格式),调试运行GCC解释器发展:起源于GNU(非洲牛羚)项目,又称革奴计划,Richard Stallman在198原创 2021-03-13 23:46:22 · 525 阅读 · 0 评论