c语法篇
文章平均质量分 64
包含c语言的语法
超超同学
个人比较热爱编程,平时也会分享一些经典题型,也希望大佬指出不足之处,之后改进
展开
-
程序的编译以及链接
程序的编译以及链接原创 2023-04-09 21:31:21 · 67 阅读 · 1 评论 -
自定义类型(结构体对齐,位段,枚举,联合体的讲解)
就以上面的代码为列:因为char name占用了10个字节,而char tele占用12个字节,因为他们的对齐数都是1,所以他们占用的空间是22个字节,也就是到了偏移地址为21的地方,因为int age占用4个字节,其对齐数是4,所以22不是他的整数倍处,所以此时就要浪费空间,到偏移处为24的地方来存放他,总的大小是28个字节,而这个结构体的最大对齐数是4,28是4的整数倍,所以此结构体的大小就是28个字节,我们来看看运行结果。而枚举需要注意的是,他在运行的时候是会进行类型检查的,与宏不同。原创 2023-03-24 17:25:22 · 198 阅读 · 2 评论 -
模拟实现memcpy和memmove(详讲)
代码以及打印结果都在上面,下面就说说这两个之间的区别吧,因为这两个都是拷贝数据,所以他们之间肯定会有所不同,先说memcpy,不知道有没有人在思考的是怎么给自己拷贝,也就是拷贝的时候重叠数据的问题,这个时候怎么办,还能用这个函数吗,答案是肯定的不能,这时候就用上 memmove这个函数了,为啥呢?这个函数的第一个参数和第二个参数就不在详细讲,上篇博客都详细说过,来说说第三个参数,第三个参数是多少个字节,是以字节为单位的 ,而不是元素,这个一定要分清楚,不然在拷贝的时候会出现意想不到的错误。原创 2023-03-18 15:15:41 · 310 阅读 · 2 评论 -
模拟实现字符串函数(长度受限制的详讲)
打个比方,就以strcpy和strncpy来做比较,在使用时,如果我们不小心拷贝的时候,目的地的空间大小不够了,那么此时他还是会拷贝,但是打印的时候才会出现栈被破坏的通知(这个是strcpy),而strncpy这个函数就比较安全了,因为他受长度的限制,所以每次打印的时候,(如果不是故意的话)不会出现站被破坏的情况。其实仔细观察,你会发现我们要拷贝的字符个数大于了要拷贝字符串的长度,那么,大家想想,会发生什么,我们看到调试的时候已经拷贝完成,但是拷贝完成之后,多余的那些字符怎么办呢?我们来仔细看看库里的。原创 2023-03-16 21:26:38 · 396 阅读 · 6 评论 -
模拟实现字符串有关函数(详细讲解)
这个是函数的格式,参数是const char* string,表示的是一个字符串的地址(就是在使用这个函数的时候,传参穿的是字符串的首地址),返回类型是无符号整数,那么,这个为什么是无符号整数呢?也就是我上面所说返回的值是大于0,小于0,等于0,因为在我用的这个编译器环境下,大于0会返回1,小于0会返回-1,等于0就是返回0,所以在我们模拟实现这个函数的时候,我个人认为还是根据库里函数的规则来写,所以返回的值只要是大于0或是小于0的就可以,当然这个看自己的喜好,没有强制要求。为什么返回值不一样呢?原创 2023-03-16 15:23:54 · 512 阅读 · 5 评论 -
KMP算法的讲解以及模拟实现字符串函数strstr
strstr的实现:这个函数其实有两种实现的方法:第一:就是我们口中的遍历,也就是暴力求解,这个方法没什么好说的,就是刚刚上面我说的思想。第二:就是高级一点的kmp算法了,这个算法的实现运用到了前面的顺序表和串的存储,要建立顺序表,还要把串存储到顺序表中,还要建立一个整数类型的数组,用来存放的是模式串中第几个字符匹配失败的时候,应该返回到第几个字符,然后重新进行比较(个人感觉这个方法是有点麻烦的,虽然比遍历效率要高),个人感觉这个方法真正体现了运用空间换时间的这个思维。原创 2023-03-13 17:19:09 · 121 阅读 · 5 评论 -
sizeof以及strlen的用法以及注意事项
sizeof以及strlen 的用法原创 2023-03-04 16:16:29 · 479 阅读 · 2 评论 -
c语言sn求和问题
c语言求和问题原创 2023-01-13 12:38:11 · 1163 阅读 · 0 评论 -
数组作为参数的那点事
数组作为参数的那些事原创 2023-01-23 12:32:38 · 464 阅读 · 0 评论 -
指针详解(包含指针,指针数组,数组指针,指向数组指针的指针,函数指针,函数指针数组,指向函数指针数组的指针)
指针详解(指针,指针数组,数组指针,指向数组指针的指针,函数指针,函数指针数组,指向函数指针数组的指针)原创 2023-02-04 22:46:26 · 145 阅读 · 6 评论 -
隐式类型转换
隐式类型转换,你学会了吗?原创 2023-02-06 19:16:53 · 64 阅读 · 0 评论 -
数组(基本题型总结)
数组(相关题型的总结)原创 2023-02-05 21:04:46 · 171 阅读 · 1 评论 -
文件(基础版)
文件(基础版)原创 2023-02-18 21:40:39 · 148 阅读 · 2 评论 -
scanf(“%*d“)中*的作用
scanf细节知识点原创 2023-01-28 12:25:09 · 1914 阅读 · 8 评论 -
宏定义中#与##的运用
#与##在宏中的运用原创 2023-01-30 15:55:10 · 1949 阅读 · 0 评论