自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编译和链接

其实翻译环境是由编译和链接两个⼤的过程组成的,而编译又可以分解成:预处理(有些书也叫预编译)、编译、汇编三个过程。在ANSIC的任何⼀种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令(二进制指令)。• 注:在Windows环境下的⽬标⽂件的后缀是 .obj ,Linux环境下目标⽂件的后缀是 .o。⼀个C语言的项⽬中可能有多个 .c ⽂件⼀起构建,那多个 .c ⽂件如何⽣成可执⾏程序呢?• 多个.c⽂件单独经过编译器,编译处理⽣成对应的⽬标⽂件。

2025-07-11 11:11:24 167

原创 文件和文件操作

ANSIC标准采⽤“缓冲⽂件系统”处理的数据⽂件的,所谓缓冲⽂件系统是指系统⾃动地在内存中为 程序中每⼀个正在使⽤的⽂件开辟⼀块“⽂件缓冲区”。4.1.1 流我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出 操作各不相同,为了方便程序员对各种设备进行方便的操作,我们抽象出了流的概念,我们可以把流 想象成流淌着字符的河。每个被使用的文件都在内存中开辟了⼀个相应的文件信息区,⽤来存放⽂件的相关信息(如文件的名字,文件状态及文件当前的位置等)。

2025-07-11 10:27:45 823

原创 动态内存管理

• 有时会我们发现过去申请的空间太⼩了,有时候我们⼜会觉得申请的空间过⼤了,那为了合理的时 候内存,我们⼀定会对内存的⼤⼩做灵活的调整。当是情况2的时候,原有空间之后没有⾜够多的空间时,扩展的⽅法是:在堆空间上另找⼀个合适⼤⼩的连续空间来使⽤。函数的功能是为 num 个⼤⼩为 size 的元素开辟⼀块空间,并且把空间的每个字节初始化为0。这个函数的类型是void*,这说明类型不明确,程序员可以根据自己的需要选择合适的类型。• 这个函数调整原内存空间⼤⼩的基础上,还会将原来内存中的数据移动到 新 的空间。

2025-05-17 14:18:45 372

原创 自定义类型:结构体

内存中每个字节分配⼀个地址,⼀个字节内部的bit位是没有地址的。所以不能对位段的成员使⽤&操作符,这样就不能使⽤scanf直接给位段的成员输⼊值,只能是先输⼊ 放在⼀个变量中,然后赋值给位段的成员。4.如果嵌套了结构体的情况,嵌套的结构体成员对⻬到⾃⼰的成员中最⼤对⻬数的整数倍处,结构 体的整体⼤⼩就是所有最⼤对⻬数(含嵌套结构体中成员的对⻬数)的整数倍。答案是不行的,因为Node是对前⾯的匿名结构体类型的重命名产⽣的,但是在匿名结构体内部提前使 用Node类型来创建成员变量,这是不行的。

2025-05-11 10:30:10 904

原创 数据在内存中的存储

⽐如:0.5的⼆进制形式为0.1,由于规定正数部分必须为1,即将⼩数点右移1位,则为1.0*2^(-1),其 阶码为-1+127(中间值)=126,表⽰为01111110,⽽尾数1.0去掉整数部分为0,补⻬0到23位 00000000000000000000000,则其⼆进制表⽰形式为: 1 0 01111110 00000000000000000000000 E全为0这时,浮点数的指数E等于1-127(或者1-1023)即为真实值,有效数字M不再加上第⼀位的1,⽽是还 原为0.xxxxxx的⼩数。

2025-05-07 12:22:03 710

原创 字符函数和字符串函数

在不同的系统和C语⾔标准库的实现中都规定了⼀些错误码,⼀般是放在 errno.h 这个头⽂件中说明 的,C语⾔程序启动的时候就会使⽤⼀个全⾯的变量errno来记录程序的当前错误码,只不过程序启动 的时候errno是0,表⽰没有错误,当我们在使⽤标准库中的函数的时候发⽣了某种错误,就会讲对应 的错误码,存放在errno中,⽽⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是 有对应的错误信息的。• strtok函数找到str中的下⼀个标记,并将其⽤ \0 结尾,返回⼀个指向这个标记的指针。

2025-05-03 18:13:51 1092

原创 指针小结1.1

指针变量的大小与它的类型无关,而与计算机的地址总线的根数有关,32根地址总线产生的二进制序列当做一个地址,那么一个地址就是32bit,需要四个·字节储存,64根地址总线就需要8个字节。比如:cahr*的指针解引用就只能访问一个字节,而int*的指针的解引用就能访问四个字节。我们通过取地址符(&)来得到变量的地址,为了后期的使用,我们要将这个地址存放在一个变量中,这个变量我们称之为:指针变量。我们可以看出,char*类型的指针变量+1跳过1个字节,in*类型的指针变量+1跳过了4个字节。

2025-04-26 22:08:41 283

原创 分支结构小结

这里else并不是与上方对齐的if对齐,而是与离它最近的且尚未匹配的if相匹配,而且这里的第二个if镶嵌到第一个里面,所以在a!在C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果是不是0,则语句执行。C语言逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。:或运算符,就是或者的意思(两侧至少有⼀个表达式为真,则为真,否则为假)。:与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。若表达式为假,则语句不执行。

2023-12-13 22:49:38 1157 1

原创 编程之路(1)

对未知的恐惧和畏难情绪刚开始常常席卷着我,但后来经过了一段时间的学习后,也发现了编程的美和完成一道编程题的那种油然而生的成就感,正是因为这些,我也逐渐有了信心和勇气去面对这个“庞然大物”,去一点点地驯服它,让它成为我有力的工具,去创造一个独属于我的世界。因为华为的潜力很大,是我国的手机龙头,进入这家公司“任重而道远”,知识储备必须充足,也需要专业的强劲实力,总之求职路途荆棘遍地,但我会用一把”梨花开山斧“披荆斩棘。话容易说,但行动不容易做,坚决抵制“言语上的巨人,行动上的矮子”。(2)熟练各种结构的用法;

2023-11-18 20:29:51 165 1

空空如也

空空如也

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

TA关注的人

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