
C语言
文章平均质量分 84
C语言
达帮主
通信协议 , C/C++ , Andriod , JAVA
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
18.C语言结构体
struct 结构体名 {数据类型 成员名1;数据类型 成员名2;// 可以有更多成员int age;这里定义了一个名为Personname(字符数组,用于存储姓名)、age(整型,用于存储年龄)和height(浮点型,用于存储身高)。原创 2025-03-31 00:27:07 · 692 阅读 · 0 评论 -
17.C语言数组
直接通过数组赋地址给指针,对数组名称取地址,获取的是指针步长,是整个数组的长//这种方式并不是数组指针,对数组名称取地址,获取的是指针步长,是整个数组的长度如果需要定义一个数组指针,首先定义出数组的类型,在通过类型创建数组的指针。//ARRAY_TYPE是一个数据类型,代表有5个int类型的数组元素i < 5;i++) {//首先是p的地址,如果不把p解引用,那会打印的是地址//格式1{1,2,3},{4,5,6},{7,8,9}//格式2//格式3。原创 2025-03-30 20:40:17 · 927 阅读 · 0 评论 -
16. C语言二级指针
int *ptr = # // 一级指针,指向int类型变量// 二级指针,指向一级指针printf("num的值: %d\n", num);printf("通过一级指针访问num的值: %d\n", *ptr);printf("通过二级指针访问num的值: %d\n", **pptr);return 0;在上述代码中,ptr是一个一级指针,它存储的是num变量的地址;pptr是一个二级指针,它存储的是ptr这个一级指针的地址。要访问num的值,对于一级指针使用一个操作符(*ptr。原创 2025-03-17 01:16:41 · 1259 阅读 · 0 评论 -
15. C语言读写文件
直接控制:精确管理内存与I/O,适合底层开发。高效灵活:二进制读写、随机访问满足高性能需求。跨平台:标准库保障代码可移植性。严格遵循“打开-操作-关闭”流程优先使用安全函数(如fgets替代gets理解文本与二进制模式的区别通过结合实际场景(如日志、配置、CSV)练习,可快速提升文件处理能力。场景错误与规避错误类型解决方案文件未关闭确保所有分支路径执行fclose()(如goto统一清理)。缓冲区溢出使用限制输入长度。文本/二进制混淆Windows下明确区分模式(如"rb"避免\r\n转换)。原创 2025-03-16 03:02:55 · 721 阅读 · 0 评论 -
14.C语言const的使用规范,详细说明
运用const可以提升代码的安全性与可读性,防止意外修改数据。要依据具体需求,正确使用const修饰变量、指针、函数参数和返回值。原创 2025-03-13 23:43:07 · 470 阅读 · 0 评论 -
13.C语言指针的易错点
从上面的指针越界来看,数组定义的长度是3,传入的是abc,abc的长度也是3,但是还有结束符\0所以这个这个属于绝对的越界行为。free()函数的功能只是告诉系统 p 指向的内存可以回收了,就是说,p 指向的。从上面来看p是一直++的,最后释放,存在问题,并不是从初始位释放。,但是,p的值还是原来的值(野指针),p还是指向原来的内存。解决方案,我们可以通过一个临时变量来操作他。原创 2025-03-10 00:03:09 · 374 阅读 · 0 评论 -
12.C语言 sscanf的使用
匹配非a的字符串,比如dangbangzhu , ^z,那么从d开始匹配,一直到z就结束,结果显然是dabang可以以下案例,z后面就不进行匹配了,全部过滤掉。从以上结果来看,我们似乎没有过滤掉123456.这种问题需要注意,一串本身就是字符串,我们可以通过空格,或者\t来进行解决问题。从一开始匹配,如果有一个匹配不成功,后面的全部不匹配。这是这个方法的特性。)的规则,从输入字符串中提取特定类型的数据(如整数、浮点数、字符串等)。从上面看从过出0-9,首先要吧前面的数据忽略掉,在进一步过滤0-9。原创 2025-02-24 00:51:56 · 1763 阅读 · 0 评论 -
11.C语言 malloc() calloc() realloc()分配内存
malloc提供了动态内存分配的灵活性,但需谨慎管理以避免内存泄漏和碎片化问题。//malloc 分配内存i< 10;运行结果:赋值//malloc 分配内存i< 10;i++)i < 10;calloc:适合需要分配并初始化内存为零的场景。malloc:适合不需要初始化或需要手动初始化的场景。根据具体需求选择合适的函数!//calloc 分配内存//参数1长度,参数2类型的大小。原创 2025-02-16 23:55:22 · 863 阅读 · 0 评论 -
10.C语言字符串
1个是dest,1个是souces。我们的++在后,是先用后加。这里可以区分sizioff和strlen的区别,其实我们的\0也是占用位置的。从str1 和str2 来看运行结果, 一个是多一个\0。从代码来看这个案例是代码量最小的,但理解起来就比较麻烦了。\012是八进制下的10进制转换10,对应ac表好是换行。sizeof: 计算数组大小,数组包含\0字符。可以看一下sizeof 和 strlen的区别。strlen: 计算字符串长度,到\0结束。注意字符串一定需要有结束符\0。此案例与案例2差不多。原创 2025-01-06 00:22:11 · 428 阅读 · 0 评论 -
9.C语言指针
char a;// 1 ~ 3 //char类型原本是1,但是按照内存要求,内存会预留后面3个int b;// 72~ 75//目的需要a b buff d的值。原创 2025-01-05 03:34:25 · 854 阅读 · 0 评论 -
7.C语言 宏(Macro) 宏定义,宏函数
define MAX 1025 //定义宏int main()int main()运行结果if (!exit(1);1.宏函数要保证运算的完整性。2.宏函数在一定程度上,会比普通函数效率高,普通函数会有入栈和出栈时间上的开销。3.通常会吧调用频繁的,短小的函数封装为宏函数。原创 2024-12-22 23:09:46 · 2863 阅读 · 0 评论 -
8.C语言函数入栈 出栈过程
栈(stack)是现代计算机程序里最为重要的概念之一,几乎每一个程序都使用了栈,没有栈就没有函数,没有局部变量,也就没有我们如今能见到的所有计算机的语言。在解释为什么栈如此重要之前,我们先了解一下传统的栈的定义:原创 2024-12-24 00:04:58 · 1091 阅读 · 0 评论 -
6.static extern const关键字
const修饰的变量全局变量直接修改 失败间接修改 失败,原因放在常量区,受到保护局部变量直接修改 失败间接修改 成功 因为在栈上伪常量 不可初始化数组。原创 2024-12-22 13:19:13 · 614 阅读 · 0 评论 -
5.C语言内存分区-堆-栈
程序源代码被编译之后主要分成两段: 程序指令(代码区) 和 程序数据(数据区)。代指码段属于程序指令,而数据域段和bss段属于程序数据为什么要分开?程序被加载到内存中之后,可以将数据和代码分别映射到两个内存区域。由于数据区域对进程来说是可读可写的,而指令域对程序来说是只读的,所以区分之后,可以将程序指令区域和数据区域分别设置成可读可写或者只读。这样可以防止程序的有意或者无意被修改。原创 2024-12-22 10:09:58 · 902 阅读 · 0 评论 -
4.C语言变量的修改方法
1.变量直接修改,间接修改。原创 2024-12-18 00:41:06 · 286 阅读 · 0 评论 -
3.C语言 sizeof ,unsigned的使用方法
sizeof本质不是一个函数,而是一个操作符1.当统计类型占内存空间的时候,必须要加小括号2.当统计变量占内存空间的时候,可以不加小括号sizeof的返回值类型是,无符号整型,unsigned intsizeof 可以统计数组的长度1.当数组名作为函数参数的时候,会退化成一个指针,指向第一个元素。原创 2024-12-16 01:03:32 · 697 阅读 · 0 评论 -
2.C语言void的使用
/void是不允许定义变量的//编译器不知道给多少内存,编译器不会让代码通过编译void 是不允许定义变量的: 比如 void i = 10;这样是直接编译报错。因为编译器不知道给多少内存void,不可以创建变量,无法分配内存。void,可以限制函数返回值。void,可以限制函数中的参数列表。void,void*万能指针,可以不需要强制类型转换。原创 2024-12-15 23:48:10 · 1034 阅读 · 0 评论 -
1.C语言 typedef的使用方法
给类型起一个别名,比如给int类型取个中文名字 zhengxingint。可以简化struct关键字可以区分数据类型提高代码的平台可移植性。原创 2024-12-15 01:24:08 · 573 阅读 · 0 评论 -
C语言指针描述(一篇全部透C指针)
C语言 指针语法 #include<stdio.h> #include<stdlib.h> main(){ int a=10; int* pointer=&a; }C语言里面的指针只能操作地址指针赋值给变量int a = 10;int* pointer = &a;//吧地址赋值给指针 指针本身是存储地址...原创 2018-08-11 23:10:40 · 11938 阅读 · 5 评论