C语言
文章平均质量分 89
p_fly
这个作者很懒,什么都没留下…
展开
-
【编程之路(017)】程序的编译与链接(C语言实现)
这个时候程序将使用一个运行时堆栈(stack),存储函数的局部变量和返回地址。在有操作系统的环境中一般这个由操作系统完成。在独立的环境中,程序。)内存,存储于静态内存中的变量在程序的整个执行程序一直保留他们的值。的载入必须由手工安排,也可能是通过可执行代码置入只读内存来完成。机制包括了一个规定,允许把参数替换到文本中,这种实现通常称为宏(过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠。种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。的任何一种实现中,存在两个不同的环境。...原创 2022-07-23 14:21:41 · 291 阅读 · 0 评论 -
【编程之路(016)】文件(C语言实现)
使用文件我们可以将数据直接存放在电脑的硬盘上,做到了数据的。包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。今天所讨论的就是数据文件。文件名文件路径+文件名主干+文件后缀如c每个被使用的文件都在内存中开辟了一个相应的,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。....原创 2022-07-23 11:57:28 · 443 阅读 · 0 评论 -
【编程之路(015)】动态内存管理(C语言实现)
目录动态内存分配的原因:动态内存函数的介绍 :malloc函数:free函数:calloc函数:realloc函数:常见的动态内存错误1.对NULL指针的解引用操作:2.对动态开辟空间的越界访问 :3. 对非动态开辟内存使用free释放:4 使用free释放一块动态开辟内存的一部分:5 对同一块动态内存多次释放:6 动态开辟内存忘记释放(内存泄漏):这是我们已知的开辟空间的方式,它是有下面两个缺点的: 这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。calloc函数:原创 2022-07-13 15:47:18 · 105 阅读 · 0 评论 -
【编程之路(014)】自定义类型:结构体,枚举,联合(C语言实现)
目录结构体结构体类型的声明:结构体内存对齐:结构体传参:位段:枚举枚举的定义:枚举的优点:枚举的使用:联合(共用体)联合类型的定义:联合的特点:联合大小的计算:结构体定义:因为生活中不只有简单的整形,浮点型等等,所以就有了结构这一说。结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 结构的声明:特殊声明:结构体的自引用:结构体变量的定义和初始化:在特殊声明中其实也用到了结构体变量的定义。其实有了结构体声明,就相当于我们有了这个类型,就比如我们原本就有in原创 2022-07-12 17:39:54 · 67 阅读 · 0 评论 -
【编程之路(013)内存相关函数】(C语言实现)
内存相关的函数这篇博客介绍三个——memcpy,memmove,memcmp。目录1.复制所有类型——memcpy:memcpy函数介绍:memcpy函数的演示:memcpy函数的模拟实现:2.移动内部数据——memmove:memmove函数介绍:memmove函数演示:memmove函数的模拟实现: 3.比较各种数组——memcmpmemcmp函数介绍:memcmp函数演示:memcmp函数的模拟实现:所需要的头文件 返回类型:是被复制到目标空间的起始地址。 参数类型:第一个参数:是被复制到目标空间的原创 2022-07-09 17:47:57 · 242 阅读 · 0 评论 -
【编程之路(012)字符串相关函数】(C语言实现)
目录1.求字符串长度——strlenstrlen函数介绍:模拟实现strlen函数:2.复制字符串——strcpystrcpy函数的介绍:模拟实现strcpy函数:3.追加字符串——strcatstrcat函数的介绍:模拟实现strcat函数:4.比较字符串——strcmpstrcmp函数介绍:模拟实现strcmp:5.复制n个字符串——strncpystrncpy函数介绍:模拟实现strncpy函数: 6.追加n个字符串——strncatstrncat函数介绍:strncat函数的模拟实现:7.比较字符串原创 2022-07-09 13:04:29 · 317 阅读 · 0 评论 -
有关数组、指针与sizeof、strlen练习题
目录 一维数组练习一维整形数组与sizeof、strlen一维字符数组与sizeof、strlen一维字符串数组与sizeof与strlen常量字符串与sizeof与strlen总结:二维数组总结:指针笔试题一维字符数组与sizeof、strlen一维字符串数组与sizeof与strlen常量字符串与sizeof与strlen总结:一维数组数组名大多数情况下都代表首元素地址。但是有两个例外,数组名代表整个数组a.sizeof(数组名) 注意:()中必须只有数组名原创 2022-07-05 18:07:34 · 126 阅读 · 0 评论 -
【编程之路(011)进阶指针】(C语言实现)
目录字符指针指针数组数组指针数组指针的定义&数组名与数组名数组指针的使用数组参数、指针参数一维数组传参二维数组传参一级指针传参二级指针传参函数指针函数指针数组指向函数指针数组的指针回调函数要注意,这其实是把这一串字符的首个字符的地址存到ps中去,而不是一整个字符串存进去。我们可以看出虽然都是相同的字符,但是存入字符数组中时,每次都会开辟不同的空间。但是字符串常量却是在相同的空间。原因就是二者分别是在内存的栈区和常量区。每次有新的变量是,栈区都会开辟新的空间,不管内容是否相同。但是字符串到常原创 2022-07-01 10:40:56 · 96 阅读 · 0 评论 -
【编程之路(004)】函数(基础)(C语言实现)
目录函数是什么?C语言中函数的分类:库函数:自定义函数:函数的参数实际参数(实参)形式参数(形参)函数的调用传值调用传址调用函数的嵌套调用和链式访问嵌套调用:链式访问函数是什么?维基百科中对函数的定义:子程序 在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码, 由一个或多个语..原创 2022-04-23 17:14:21 · 179 阅读 · 0 评论 -
【编程之路(010)数据的存储(进阶)】(C语言实现)
数据类型介绍char //字符数据类型 short //短整型 int //整形 long int //长整型 long long int //更长的整形 flaot //单精度浮点数 double //双精度浮点数类型的意义1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)。 2. 如何............原创 2022-06-29 10:59:31 · 203 阅读 · 0 评论 -
【编程之路(009)指针(初级)】(C语言实现)
目录指针是什么指针类型野指针指针运算指针和数组二级指针指针数组指针是什么1. 指针是内存中一个最小单元的编号,也就是地址 2. 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量 总结:指针就是地址,口语中说的指针通常指的是指针变量。指针变量 我们可以通过&(取地址操作符)取出变量的内存其实地址,把地址可以存放到一个变量中,这个 变量就是指针变量。#include <stdio.h>int ma..原创 2022-05-14 17:24:21 · 473 阅读 · 0 评论 -
【编程之路(008)操作符详解】(C语言实现)
目录操作符定义及其分类算数操作符移位操作符原码,反码,补码左移操作符右移操作符位操作符按位与&按位或|按位异或^赋值操作符复合操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用操作符函数调用操作符访问结构成员操作符操作符的属性操作符定义及其分类操作符定义:指令系统的每一条指令都有一个操作符,它表示该指令应进行什么性质的操作。不同的指令用操作符这个字段的不同编码来表示,每一种编码代..原创 2022-05-12 14:16:09 · 721 阅读 · 0 评论 -
【编程之路(007)扫雷游戏】(C语言实现)
扫雷原创 2022-05-11 15:02:45 · 658 阅读 · 0 评论 -
【编程之路(006)三子棋游戏】(C语言实现)
目录引言main函数的整体逻辑菜单的打印游戏的实现棋盘的初始化与打印玩家下棋电脑下棋判断胜负平棋盘是否为满源码引言这是学完循环,数组和函数之后写出来的一个小游戏,也没有用到什么特别复杂的知识点。代码对于初学者来说有点多,所以对于整体与局部的把控就显得尤为重要,所以就把代码分成了三个板块。一个是用来写函数声明,预处理的头文件;一个是用来写函数功能的源文件;另一个是用来测试函数功能的源文件。其中main函数是在测试功能的源文件中,所以我们就从main.原创 2022-05-02 14:22:37 · 2796 阅读 · 0 评论 -
【编程之路(005)】数组(基础)(C语言实现)
目录一维数组一维数组的创建一维数组的初始化一维数组的使用一维数组在内存中的存储二维数组二维数组的创建二维数组的初始化二维数组的使用二维数组在内存中的存储数组越界数组名是什么?一维数组一维数组的创建数组是一组相同类型元素的集合。 数组的创建方式:type_t arr_name [const_n]; //type_t 是指数组的元素类型 //arr_name是你给数组起的名字//const_n 是一个常量表达...原创 2022-04-27 11:23:22 · 736 阅读 · 0 评论 -
【编程之路(003)】循环语句(for,while,do while语句)(C语言实现)
总体介绍(引言)循环执行语句:do while语句、while语句、for语句。其中for循环使用频率最高,其次是while。如果对于C语言的语句还不太了解的话,可以参考【编程之路(002)】分支语句(if,switch语句)(C语言实现)_p_fly的博客-CSDN博客这一篇的基本概念。for语句基本语法for(表达式1; 表达式2; 表达式3) { 循环语句; }表达式1 表达式1为初始化部分,用于初始化循环变量的。 表达式2 表达式2为条件..原创 2022-04-16 17:32:12 · 1467 阅读 · 0 评论 -
【编程之路(002)】分支语句(if,switch语句)(C语言实现)
目录基本概念:if语句switch语句基本概念:C语句可分为以下五类: 1. 表达式语句 2. 函数调用语句 3. 控制语句(今天要讲的)4. 复合语句 5. 空语句 控制语句:用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语 言有九种控制语句。分成以下三类:1. 条件判断语句也叫分支语句:if语句、switch语句; 2. 循环执行语句:do while语句、while语句、for语句; 3. 转向原创 2022-04-13 17:16:36 · 890 阅读 · 0 评论