自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C语言 内存管理

如果我们面向linux操作系统开发,linux会把进程所使用的地址【隔离】开来,让操作系统为每个进程分配独立的一套【虚拟地址】,人人都有,大家自己玩自己的地址就行,互不干涉。硬盘的访问速度要比内存慢太多了,每一次内存交换,我们都需要把一大段连续的内存数据写到硬盘上。在 Linux 系统里,也就是我们常看到的 Swap 空间,这块空间是从硬盘划分出来的,用于内存与硬盘的空间交换。所申请的堆内存的块数,所有的内存块是连续分布的、无间隔的。所申请的一块堆内存的大小,单位是字节。2.2.3 静态变量。

2023-09-21 21:13:48 156

原创 C语言 函数

函数简单来说就是一连串语句,这些语句被 组合在一起,并被指定了一个名字。虽然“函数”这个术语来自数 学,但是C语言的函数不完全等同于数学函数。在C语言中,函数不一 定要有参数,也不一定要计算数值。函数是C程序的构建块。每个函数本质上是一个自带声明和语句的小程 序。可以利用函数把程序划分成小块,这样便于人们理解和修改程 序。由于不必重复编写要多次使用的代码,函数可以使编程不那么单 调乏味。此外,函数可以复用:一个函数最初可能是某个程序的一部 分,但可以将其用于其他程序中。

2023-09-20 23:39:57 166 1

原创 C语言 指针进阶

C语言中指针和数组的关系是非常紧密的,理解指针和数组之间的关系对于熟练掌握C语言非常关键不管是二级指针还是多级指针,考虑它们和一级指针都是一样的,一级指针保存的是普通变量的地址,而二级(多级)指针保存的是指针变量的地址,即地址的地址

2023-09-19 22:57:53 224

原创 C语言 初识指针

指针的本质:专门用于存储地址的变量,又称指针变量,比如 &a 是一个地址,也是一个指针,&a 指向变量 a数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量

2023-09-18 16:06:57 120

原创 C语言 数组

数组是含有多个数据值的数据结构,并且每个数据值具有相同的数 据类型。这些数据值称为元素 (element),可以根据元素在数组中 所处的位置把它们一个个地选出来,数组元素是存储到一片连续的内存中的。最简单的数组类型就是一维数组,一维数组中的元素一个接一个地编 排在单独一行,这里可以假设 有一个名为a 的一维数组:

2023-09-17 12:51:35 143 1

原创 C语言 字符输入输出

什么是缓冲区:缓冲区( Buffer) 又称为缓存( Cache) ,是内存空间的一部分。计算机在内存中预留了一定的存储 空间,用来暂时保存输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲是在两种不同速度设备之间传输信息时平滑传输过程的常用手段缓冲区是治愈与输入输出有关的大部分疑难杂症的良药,它能使你对输入输出的认识上升到一个更高的层次

2023-09-16 12:54:32 267 1

原创 C语言 控制流

程序语言中的控制流语句用于控制各计算操作执行的次序。根据对语句执行顺序的影响,C语言的其余语句大多属 于以下3大类。选择语句 (selection statement)。if 语句和switch 语句 允许程序在一组可选项中选择一条特定的执行路径。循环语句 (iteration statement)。while 语句、do 语句和 for 语句支持重复(循环)操作。跳转语句 (jump statement)。break 语句、continue 语句 和 goto 语句导致无条件地跳转到程序中的某个位

2023-09-14 19:11:46 143 1

原创 C语言 运算符

运算符功能说明举例加法,一目取正a+b减法,一目取负a-b乘法a*b除法a/b取模(求余)a%b++自加1a++, ++b--自减1a--, --b运算符功能说明举例功能说明大于a > b判断a是否大于b>=大于或等于a >= 5判断a是否大于或等于5小于3 < x判断3是否小于x小于或等于x判断x是否小于或等于y+1==等于(x+1) == 0判断x+1是否等于0!不等于c!= ‘\0’判断c是否不等于'\0'运算符。

2023-09-13 19:49:40 123 1

原创 C语言 基本数据类型

sum 和 count 都是 int 类型,如果不进行干预,那么sum / count的运算结果也是 int 类型,小数部分将被丢弃;虽然是 average 是 double 类型,可以接收小数部分,但是心有余力不足,小数部分提前就被“阉割”了,它只能接收到整数部分,这就导致除法运算的结果严重失真。上面的代码中,我们将 sum 强制转换为 double 类型,这样sum / count的结果也将变成 double 类型,就可以保留小数部分了,average 接收到的值也会更加精确。ASCII码表 II。

2023-09-11 20:14:20 484

原创 C语言程序设计(入门)

printf("输出控制符1 输出控制符2…", 输出参数1, 输出参数2, …printf("输出控制符 非输出控制符",输出参数);printf("输出控制符",输出参数);printf("字符串\n");

2023-09-10 22:44:48 181 1

原创 什么是零长数组/柔性数组?为什么使用零长数组?

零长数组一般和结构体搭配使用,其比起在结构体中声明一个指针变量、再进行动态分配的效率要高。因为在访问数组内容时,不需要间接访问,避免了两次访存。同时因为零长数组表示数据内容时,其数据空间是动态分配的,所以比静态分配内存要灵活。

2023-09-08 17:14:22 225 1

原创 字符串数组与字符串指针

内存中的存储区域不一样,字符数组存储在全局数据区或栈区,字符指针的字符串存储在常量区。全局数据区和栈区的字符串有读取和写入的权限,而常量区的字符串只有读取权限,没有写入权限

2023-09-06 22:32:34 189

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除