c语言
文章平均质量分 78
东东7_7
这个作者很懒,什么都没留下…
展开
-
静态链接和动态链接
静态链接由于在我们实际的开发中,不可能将他们都放在一个文件中执行,所以将他们生成.o文件进行,从而要将他们进行链接,从而实现一个可以执行的程序,这个过程就是静态链接静态库:是由多个多个.o文件压缩打包形成的一个文件静态链接的优点:他在执行的时候都已经将副本都放入了文件中,所以执行的速度变快缺点:对每一个文件都有依赖,所以文件比较大,而且更新比较麻烦动态链接其中动态链接解决了空间浪费和更新困难两个问题原理:他是在程序运行的时候,才将他们链接生成一个完整的程序优点:即使需要每个程序d都依赖同一个原创 2020-10-13 21:31:50 · 118 阅读 · 0 评论 -
对于gcc编译器出现error: expected ‘=‘, ‘,‘, ‘;‘, ‘asm‘ or ‘__attribute__‘ before ‘{‘ token情况分析
今天我在写程序的时候出现了这个问题,就是在mmu.c里面的每一个函数入口行数都会报这个错,然后我仔细检查了每一行的符号是不是缺分号,还是缺逗号,各种方法找了半小时。。。。。最后发现是在头文件声明的时候没有加分号而导致的总结一下,这个错误一般是符号错误,编译器一般都可以定义到你需要的那一行,但是当出现多行的时候,你就需要检查一下头文件了...原创 2020-10-08 18:59:14 · 1106 阅读 · 0 评论 -
变参函数的学习
定义可变参数函数又称参数个数可变函数,也可以称为变参函数int printf(const char *format, ...);//其中printf就为典型的变参函数其中,参数可分为两部分:数目确定的固定参数和数目可变的可选参数。函数至少需要一个固定参数,其声明与普通函数参数相同;可选参数由于数目不定(0个或以上),声明时用"…"表示(“…”用作参数占位符)。固定参数和可选参数共同构成可变参数函数的参数列表。变参函数的实现其中,我们需要用到"stdarg"这个库文件 #include <原创 2020-09-10 16:45:55 · 95 阅读 · 0 评论 -
静态储存,堆,栈的理解
数据结构中的堆与栈栈 :可以理解为为一个瓶子,他遵循着先进后出的原则原创 2020-07-29 20:11:36 · 468 阅读 · 0 评论 -
对extern,static,const的再认识
constconst修饰的值为常量,是不可改变的,在c++语言中是不可改变的,而在C语言中,我们可以通过指针去修改那一片地址的值const修饰的指针,表面指针指向或者指针的值是不可被修改的,我们可以通过通配符*的位置来判断,*在左说明修饰的值不可改变,*在右说明指针的指向不能改变const修饰函数的参数,表面传入的参数在函数内部不可改变const修饰类成员变量,该成员变量只能在初始化列表赋值,而不能在外面改变const修饰类成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左原创 2020-07-27 10:25:55 · 192 阅读 · 2 评论 -
C语言深度解析——笔记
前言按照这个作者的说法,C语言没有表面的上的那么简单,他并不是只有简单的数组,指针,函数这些东西,他还有很多我们需要注意的东西关键字C语言一共有32个关键字,其中最容易搞错的就是sizeof这个关键字,本人在未读这本书的时候,曾经也在man手册中man了sizeof,没有查询到,当时还比较困惑,但是没有多想。表(1.1)C 语言标准定义的 32 个关键字关键字 意 义auto 声明自动...原创 2020-03-12 15:37:02 · 243 阅读 · 0 评论 -
指针——C语言的灵魂
前言指针这个环节一直是我不敢写的一个部分,因为他实在太重要,C语言的优点基本都是因为指针所诞生的。变量与地址我们可以把计算的存储理解成一个教室,每一个教师都能进学生,而且教师也有着门牌号所以我们就可以就可以将变量看成上面的学生,而门牌号就是其中的地址。再比如,int a =0;在这个里面a就是变量,&a就是他存放的地址其实指针就是地址,它指向一个房间号以我现在的理解就是,在...原创 2020-02-17 00:00:20 · 179 阅读 · 0 评论 -
基本的输入输出函数
前言输入输出函数作为ci语言的接口,他们有着特殊的地位printf 函数他作为一个标准的输入打印函数,也是c语言中的一种变参函数,就是函数的参数数量不固定,这个是他的输出条件同样的还可以加很多附加条件注 这里面要说明的就是,数据都是需要单位的,没有单位的数据是没有意义的,所以我们在定义数据的时候要注意加上单位,通过在前面加上l变为long型的。...原创 2020-02-01 18:16:50 · 202 阅读 · 0 评论 -
变量——auto static extern
前言由于变量让你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,因此它们十分有用。auto变量默认:自动分配空间,自动回收空间int i;char g;这些都属于自动分配到空间,他们的值在不被赋值的情况下都是随机值register变量寄存器类型(建议型):只能定义32位大小的数据类型,只能定义局部变量,不能定义全局变量,没有地址,所以一个寄存器类型不能打印出地址或...原创 2020-01-12 11:43:22 · 117 阅读 · 0 评论 -
计算机科学导论
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191229184原创 2020-01-03 23:35:11 · 381 阅读 · 0 评论 -
计算机中数据的表示
机器码和真值机器码:用二进制0,1表示数字的正负,‘0’表示正号,‘1’表示负号,且把这个数字放在最高位数字前表示,及把符号位和数值放在一起的称为机器码真值:就是我们平常表示数字的方式举例:真值 +1001345=机器数就是0 1001345原码原码数值部分用数值部分的绝对值直接表示,最高位为数值位,‘0’表示正好,‘1’表示负号。注意:0的原码有两个值 00000000 和10000...原创 2019-12-28 16:19:42 · 253 阅读 · 1 评论 -
linux下的4G虚拟内存管理
前言首先我们知道,内存可以分为三个部分,分别为静态储存区内存,栈区内存和堆区内存,其中他们各自有着好处和过人之处,在这里主要来说明堆区内存静态储存区内存静态储存区存储的变量为为全局变量,或者可以用static修饰的变量,他的好处实是在整个程序的运行中一直存在,直到程序结束栈区变量栈区变量申请的是局部变量或者auto修饰的变量,栈区变量的好处是使用方便,但是自由度小,他会随着函数的结束而被...原创 2019-08-09 16:04:47 · 542 阅读 · 0 评论 -
数据的批量解决——数组
前言在处理大量的数据中,我们我经常会为繁琐的变量而感到头疼,这时候出现了数组这样的一个结构,他可以将相同的数据类型放到一段连续的地址中,并且可以通过下表去访问他们数组的定义int a[10]={0} //定义一个空间为10的数组,并将他的数组清零其中 int为数据类型,a为数组名称,【10】为申请的大小,d但要注意这个数字必须为整形,而不能为浮点型或者负数数组的下标数组是通过...原创 2019-09-06 13:00:41 · 176 阅读 · 0 评论 -
c语言的核心——函数
前言在c语言中函数的地位无可厚非的占据着中心地位,函数其实就是基本逻辑语言语言组成的,但是他便利了使用,函数可进行分装,是其具有模块化,还可以控制代码逻辑,防止一些异常情况的发生函数的分类系统调用函数系统调用的函数,如 read,write等等,其中可以在man帮助手册中查询到man 2 xxx系统库函数在系统里自带的一些函数,如printf(),scanf()自定义函数自己编写的...原创 2019-08-12 22:15:40 · 409 阅读 · 0 评论 -
浅谈结构体的使用
定义在我们处理数据的时候,我们有时候发现需要处理不同的数据类型,想将他们组合表达,这时候就出现了结构体结构体的定义有名结构体struct studengt{ int age; char name[32];};有名结构体可以在结构体外定义,而无名结构体不行无名结构体struct { int age; char name[32];}var;无名结构体只能在结构体中定...原创 2019-08-07 18:23:09 · 344 阅读 · 0 评论