点击我的视频网校,学习编程课程,或者关注我的微信公众号“编程之路从0到1”,了解课程更新

7.0文件与 I/O

文件与 I/O程序必须能够将数据写入文件或者物理输出设备,例如显示器或打印机,并且能够从文件或输入设备(例如键盘)读取数据。C语言标准库提供了许多函数以让我们实现该目的。所有基本输入输出函数、宏以及为其定义的类型,全部都在头文件stdio.h中进行声明。流从C程序角度来看,无论程序一次读写的是一个字

6.0标准库的学习

标准库的学习标准库维基百科C标准库或libc是ANSI C标准中规定的C编程语言的标准库,它与C库POSIX规范是同时制定的,POSIX规范是它的超集,由于ANSI C被国际标准化组织采用,C标准库也被称为ISO C库。C标准库为字符串处理、数学计算、输入/输出处理、内存管理等任务以及其他一些操作系

5.0项目构建

项目构建为什么需要编译脚本?当C语言工程很大,源码非常多时,如果还去使用GCC命令编译程序,几乎是不现实的。这时候,可以通过编写shell脚本去执行编译命令,当然这并不是一种好的方式。在Linux上我们可以写shell脚本,在Windows上则可以编写bat脚本本篇以如下源码作为示例工程,需要编译一

4.0链接与库

链接与库前言其实学完C语言的语法后,我们往往会有数不清的疑惑,例如编译器在编译的时候就可以分配内存,那么不同的程序会不会分配到相同的内存地址,计算机如何处理这种冲突?C语言既然可以操作内存,我们能不能修改其他程序的内存数据,游戏外挂是不是这样实现的?程序是怎么被加载到内存的,C语言main函数又是谁

3.0数据结构

数据结构C语言标准库是没有提供数据结构的,但数据结构是编程中的基础设施,其他编程语言通常都是自带各种数据结构。这里我们简单实现一下,将数据结构的基础知识与C语言语法综合练习一下。线性表线性表是最为常用的数据结构之一,其他高级语言也都有提供,也就是Java、Python中的List基于数组基于数组的线

2.0 内存模型

内存布局简单模型图:内存分区描述栈(stack,又称堆栈)由编译器自动分配和释放,存放函数的参数值、局部变量的值、函数的返回值等。形如数据结构中的栈,具有后进先出的特点。进程的栈空间位于进程用户空间的顶端,并向下扩展。每次函数调用都会在进程栈空间中开辟自己的栈空间,函数返回后,函数的栈空间消失,所以

1.8语法补充

语法补充共用体结构体的各个成员会占用不同的内存,互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。结构体占用的内存大于等于所有成员占用的内存的总和(内存对齐),共用体占用的内存等于最长的成员占用的内存。共用体使用内存覆盖技术,同一时刻只能保存一个成员的值,如果对其他

1.7高级语法(二)

高级语法内存管理C语言程序加载到内存中,通常可人为划分为栈(stack)、堆(heap)、代码段(text)、数据段(data)、bss 段、常量存储区等区域部分,在这个基础上,人们习惯在逻辑上将C语言程序的内存模型归纳为四大区域。请注意,这四大区域只是逻辑上的划分,实际上对于内存而言,它只是一片连

1.6高级语法(一)

高级语法结构体背景结构体是一种聚合数据类型,C语言的数组也是一种聚合数据类型,它们显著的区别是,数组是相同数据类型的集合,而结构体可以是不同数据类型的集合。假如要表示一个学生,那么我们可能需要声明多个变量// 姓名char *name;// 年龄int age;// 编号char *number;/

1.5进阶语法(二)

进阶语法模块化编程所谓模块化开发,是对源文件的一种组织方式。多个源文件最早的C语言仅仅用来编写小而美的代码,总共不超过100行,随着计算机软件的发展,小程序变成了大型软件工程,整个项目是由多人协同开发完成的,一个人显然已经玩不动了,这时候也就出现了模块化编程的概念。假设现在有小明、小张和小王三人,这

公众号:编程之路从0到1

公众号

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×