![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 94
runing up that hill
这个作者很懒,什么都没留下…
展开
-
编译和链接
并且包含的头文件都被插入到.i文件中,所以当我们无法知道宏定义或者头文件是否包含正确的时候,可以查看预处理后的.i文件来确认。今天我们先将编译和链接进行大概的了解,这里面还有很多很多的内容需要我们去学习,同时也希望以上的内容对大家有所帮助。翻译环境是由编译和链接两个大的过程组成的,而编译又可以分解成:预处理(预编译)、编译、汇编三个过程。计算机是能够执行二进制指令的,但是我们写出的C语言代码是文本信息,计算机不能直接理解。所以,在ANSI C的任何一种实现中,存在两个不同的环境。原创 2024-03-28 14:24:22 · 870 阅读 · 3 评论 -
文件操作详解
磁盘(硬盘)上的文件是文件。但是在程序设计中,我们一般说的文件有两种:程序文件、数据文件(从文件的功能的角度来分类的)。程序文件程序文件包括源程序文件(后缀为.c),目标文件 (windows环境后缀为.obj),可执行程序(windows环境为.exe)。数据文件文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或输出内容的文件。我们主要讨论的是数据文件。文件名一个文件要有一个唯一的文件标识,以便用户识别和引用。原创 2024-03-27 22:29:18 · 786 阅读 · 0 评论 -
自定义类型:结构体
结构体结构成员访问操作符结构体内存对齐结构体传参结构体实现位段。原创 2024-03-21 21:10:42 · 756 阅读 · 2 评论 -
数据在内存中的存储
这意味着,如果E为8位,它的取值范围是0 ~ 255;但是,我们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,存入内存时E的真实值必须再加上一个中间数,对于8位的E,这个中间数是127;两部分,符号位都是用0表示“正”,用1表示“负”,而数值位最高位的一位是被当作符号位,剩余的都是数值位。对于64位的浮点数,最高的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M。对于32位的浮点数,最高的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M。原创 2024-03-17 13:50:05 · 883 阅读 · 2 评论 -
C语言内存函数
所以对于void* 类型强制转换,转换成char* 类型是最好的,因为对于拷贝字节数据如果为奇数,例如3,7等等,整型等其他类型,4难以分到3,+1又到了8,难以分到7,所以难以满足,只有1个字节的char类型容易实现。我们可以看出这是以字节为单位进行设置的,所以并不能设置为00 00 00 01这样的整型,所以这个函数并不能帮我们完成这个任务。对于内存拷贝函数,我们可能拷贝字符串,拷贝整型,拷贝结构体数据,拷贝整型数组等等。经过上面的分析,我们就可以实现memmove的模拟实现。memcpy的模拟实现。原创 2024-03-16 22:21:12 · 836 阅读 · 2 评论 -
字符函数和字符串函数
那为什么会出现这个结果呢,问题就出现在这个函数返回值是无符号整数类型,str1的长度为10,str2的长度为6,按照我们数学的算法6 - 10= -4, 结果应该是-4,输出str1 > str2,但是在C语言中无符号整型 - 无符号整型,结果应该也是无符号整型。两者进行比较,长度不受限制的字符串函数并不安全,而长度受限制的字符串函数相对安全,因为程序员在使用函数,由于需要考虑长度参数的传入,就会去检查是否出现数组访问越界。好了,我们的字符函数和字符串函数就先学习到这里,希望这些知识对大家的学习有帮助!原创 2024-03-16 17:52:43 · 1347 阅读 · 1 评论 -
字符分类函数
通过返回值来说明是否是十进制数字字符0 ~ 9,如果是十进制数字字符0 ~ 9就返回非0的整数,如果不是十进制数字字符0 ~ 9,则返回0。通过返回值来说明是否是任何可打印字符,如果任何可打印字符就返回非0的整数,如果不任何可打印字符,则返回0。通过返回值来说明是否是任何图形字符,如果是任何图形字符就返回非0的整数,如果不是任何图形字符,则返回0。通过返回值来说明是否是字母字符,如果是字母字符就返回非0的整数,如果不是字母字符,则返回0。是否是任何图形字符,任何不属于空白符的图形字符(可打印)原创 2024-03-14 21:32:42 · 892 阅读 · 2 评论 -
C语言指针详解
计算机CPU在处理数据时,需要在内存中读取数据,处理完的数据也会放回内存中,电脑的内存是8G/16GB/32GB等,为了高效的管理这些内存空间,把内存划分为一个个的内存单元,每个内存单元的大小取1个字节,每个单元都有一个编号,有了这个内存单元的编号,CPU可以快速找到一个内存空间。,这里的数组名表示整个数组,取出的是整个数组的地址(整个数组的地址和数组首元素的地址是有区别的,地址+1跳过的字节数是不同的)我们都知道变量有不同的类型,有整型,浮点型等等,指针也是有类型的,我们从上面的代码也不难看出。原创 2024-03-13 20:17:12 · 842 阅读 · 0 评论 -
【C语言】分支和循环语句
C语言的分支和控制语句原创 2023-12-03 21:32:39 · 36 阅读 · 0 评论