![](https://img-blog.csdnimg.cn/c7579d0684634794b146521c3db15365.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言进阶
文章平均质量分 90
深入学习理解C语言,高级指针,结构体,枚举,函数的传参,结构体传参等……
阿然成长日记
学无止境
展开
-
彻底搞懂大小端存储and调试中内存窗口如何使用?
本文主要讲解大小端存储方式原创 2024-05-09 16:34:49 · 443 阅读 · 1 评论 -
进制之间的转换大全(二进制转十进制,二进制转八、十六~~)
所有进制转换都可以以十进制当作转换枢纽,先转换位十进制,在转换为其余想要转换的进制。根据上表三位一组,01101001 为 001、101、001,对应的八进制分别为151。2、二进制转为十六进制(把二进制数从右向左每4位分为一组,不足左边补0,如果是负数记得最后结果加上符号):小数部分取余规则,直到乘积的小数部分为零,或是个数超过计算精度(一般为十六位):小数部分取余规则,直到乘积的小数部分为零,或是个数超过计算精度(一般为十六位)方法:整数部分:除16取余;方法:整数部分:除2取余;原创 2023-04-09 00:03:10 · 171 阅读 · 7 评论 -
【浮点数的存储】
浮点数是与定点数相对的概念,计算机中的定点数约定小数点的位置不变,即人为约定俗成地规定了一个数小数点的位置。例如定点纯整数约定了小数点在数值位的最后。定点纯小数约定了数值位的最高位在小数点后面。由于计算机字长的限制,当需要表示的数据有很大的数值范围时,他们不能直接用定点小数或者定点整数表示。原创 2023-06-02 16:43:18 · 113 阅读 · 10 评论 -
结构体的内存对齐
占用4个字节,接在是c2因为它的对齐数是1,所以也就不存在对齐,占用1个字节。到这为止一共占用9个字节,又因为结构体的总大小为最大对齐数的整数倍,即是4的整数倍,故结构体的大小是12;假设 c1从地址0开始,它占用1个字节,接着是c2 ,它要对齐到4的倍数的地址处,也就是从地址4开始。如果嵌套了结构体的情况,嵌套结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。结构体总大小为最大对齐数(每个结构体成员都有一个对齐数,取最大的对齐数)的整数倍。原创 2023-07-14 20:37:50 · 74 阅读 · 5 评论 -
【高级指针的练习题】
前面学习了有关指针,数组指针,指针数组等等高级指针。下面我们通过一道十分全面的例题来巩固我们的学习。原创 2023-07-15 14:49:51 · 45 阅读 · 1 评论 -
strlen函数解析与模拟实现
strlen函数:计算的是字符串str的长度,从字符的首地址开始遍历,以'\0'为结束标志,然后将计算的长度返回,计算的长度并不包含’\0’。说明:1.函数的参数为------->字符指针2.返回值的类型------size_t:无符号整数(即:unsigned int)计算下面的代码你觉得答案应该是多少?是-3?上运行结果为什么答案这么大?究其本质是:计算结果是-3:源码:10000000000000000000000000000011反码;原创 2023-07-15 22:54:38 · 103 阅读 · 1 评论 -
strcpy函数与strncpy函数
strcpy的功能是将一个字符串复制到另一块空间地址中 的函数,‘\0’是停止拷贝的终止条件,同时也会将 ‘\0’ 也复制到目标空间。n:要拷贝的个数,即:将src中前n个字符赋值到dest中。原创 2023-07-16 00:29:12 · 1492 阅读 · 3 评论 -
strcat函数和strncat函数--【C语言】
strcat函数在库函数中的定义(1)返回类型----char*–被追加后的目标字符串目标字符串源字符串,不能和目标字符串相同,如需相同追加用strncat函数参数:1.:指向目标数组的指针,该数组应包含一个 C 字符串,并且足够大以包含串联的结果字符串,包括其他 null 字符。2.:要追加的 C 字符串。3.size_t num:要追加的最大字符数。(size_t是无符号整数类型。原创 2023-07-16 12:02:12 · 910 阅读 · 1 评论 -
strcmp函数和strncmp函数【C语言】
参数:1.str1:要比较的字符串2.str2:要比较的字符串返回值表明小于0str1str2str1要比较的 C 字符串。str2:要比较的 C 字符串。要比较的最大字符数。(size_t是无符号整数类型)返回值返回值表明小于0str1str2。原创 2023-07-16 13:19:20 · 1156 阅读 · 1 评论 -
【C语言】指针进阶(二)
函数指针数组的本质是一个数组,该数组用于存放函数指针。原创 2023-07-27 20:02:46 · 1424 阅读 · 24 评论 -
【C语言】指针进阶(一)
指针,函数指针,指针数组,函数回调,数组名原创 2023-07-08 17:33:42 · 98 阅读 · 14 评论 -
strstr函数strtok函数strerror函数详解【C语言】
strstr,strerror,strtok函数的详解与模拟实现,原创 2023-07-16 18:11:44 · 3178 阅读 · 7 评论 -
C语言--动态内存函数详解【malloc,calloc,realloc,free】
参数:指向先前分配的内存块的指针如果参数 ptr 指向的空间不是动态开辟的,那free函数的行为是未定义的。如果参数 ptr 是NULL指针,则函数什么事都不做。没有返回值参数1.num:要分配的元素数2.size:要分配的元素类型返回值1.成功时,指向函数分配的内存块的指针。(此指针的类型始终为 ,可以强制转换为所需类型的数据指针,以便可取消引用。2…如果函数无法分配请求的内存块,则返回空指针。void*功能–>.函数的功能是为num个大小为size。原创 2023-07-17 12:44:35 · 206 阅读 · 5 评论 -
【C语言】memcpy,memmove,memcmp,memset函数详解
与strncmp区别是:参数方面:1.memcpy可以拷贝任意类型数据;2.num是字节数参数与memcpy一样与memcpy函数区别是,它通常被用在源空间和目标空间出现重叠时定义参数:ptr1和ptr2都指向内存块的指针。num:要比较的字节数返回值表明小于0ptr2大(指向的第一个不相等字符块)0两个内存块的内容相等大于0ptr1大功能将 ptr1 指向的内存块的前 num 字节数与 ptr2 指向的第一个字节数进行比较,如果它们都匹配,则返回零,原创 2023-07-17 20:03:01 · 1308 阅读 · 6 评论 -
【C语言】文件操作(二)
文件操作之各种文件操作函数的详解原创 2023-07-27 19:32:56 · 246 阅读 · 3 评论 -
【动态内存错误详解和C的内存分区】
栈区由编译器自动分配释放,由操作系统自动管理,无须手动管理。栈区上的内容只在函数范围内存在,当函数运行结束,这些内容也会自动被销毁。1.栈区按内存地址由高到低方向生长,其最大大小由编译时确定,速度快,但自由性差,最大空间不大。2.栈区是先进后出原则,即先进去的被堵在屋里的最里面,后进去的在门口,释放的时候门口的先出去。栈区存放内容临时创建的局部变量和const定义的局部变量存放在栈区。函数调用和返回时,其入口参数和返回值存放在栈区。原创 2023-07-18 17:02:11 · 348 阅读 · 8 评论 -
【通讯录】--C语言
用c语言实现一个通讯录的系统,并且存储若干人的信息,每个人的信息包括:姓名,性别,年龄,电话号码,住址。此通讯录系统的功能包括:1.增加联系人2.删除对应的联系人3.查找联系人4.修改联系人的信息5.排序此通讯录6.打印出通讯录每个人的信息设计test.c--------------------测试通讯录的功能contact.h---------------通讯录的实现(接口的声明)contact.c---------------通讯录的实现(接口的实现)原创 2023-07-25 12:09:40 · 460 阅读 · 1 评论 -
【C语言】文件操作详解(一)
文件的读与写,文件的操作,炒鸡详细,全是干货,代码是如何与文件互动起来的,快来看看吧。原创 2023-07-20 16:29:39 · 464 阅读 · 38 评论