C语言注意
文章平均质量分 54
C语言中容易忽视,易错误的地方
菜鸟550号
这个作者很懒,什么都没留下…
展开
-
C语言数据类型隐式转换
函数返回值类型缺省int型就是如果程序员没定义函数返回值类型,则编译器将其默认为int型。原创 2023-10-28 14:34:11 · 121 阅读 · 0 评论 -
对于共用体,内存对齐后,用数组操作多余分配的字节是否合法?
该共用体理论上在内存中只占5字节,但是经过内存对齐后,实际会占8字节,内存对齐后占8字节,当我越界访问数组a下标为6,7,8且越界赋值的时候,程序是否会报错或者死亡呢?union dy{ unsigned char a[5]; int b;}dy1;原创 2023-10-26 20:39:14 · 110 阅读 · 0 评论 -
指针函数 和 函数指针
指针函数 和 函数指针原创 2023-10-17 12:37:11 · 41 阅读 · 0 评论 -
二维数组的数组名和相关的运算
int a;//系统将分配一个1个int类型字节 &a是获取a的地址,并告知系统我占的字节数是int类型个字节数;a+1表示的是数值上的加1 假定a=5 那么a+1=6.int a[5];//系统将分配5个连续的int类型字节数,单个元素的类型为int;&a是获取整个数组a的地址,并告知系统我占的字节数是int[5]个字节数;a是数组的首元素地址,首元素(数组中每个元素类型一致,前文中提到该二维数组的单个元素类型为int) 类型为int型,原创 2023-10-11 20:35:16 · 251 阅读 · 0 评论 -
指针数组和数组指针
格式:数据类型 (标识符) [数组元素个数]示例://指针数组//指向数组的 数组指针下面通过用数组指针和二维数组来演示数组指针的使用;//定义一个3行5列的二维数组//定义一个数组指针(行指针)//arr数组名从特性上也类似于数组指针//打印一下p的值和arr的值printf("对p和arr进行加1操作:\n");//当他们的偏移量为1时,他时增加4个字节还是40个字节呢?//行指针每次移动1 偏移量= 首地址 + [数组元素个数]*数据类型;原创 2023-10-11 19:04:18 · 41 阅读 · 0 评论 -
char ch=-1 分别打印%d的值 和%u的值,值各为多少?
char ch=-1分别用%d和%u打印为多少unsigned char ch=-1 分别用%d 和%u 打印为多少?原创 2023-10-10 22:39:35 · 657 阅读 · 0 评论 -
自定义交换函数swap的误区
swap4()函数在内部非法操作没有初始化的指针。sawp2()函数在函数内部交换的x,y的地址,与外界x,y的地址和值无关;swap1()函数只在函数内部交换x,y的值,与外界x,y的值无关;swap3()函数在内部操作了外界 x,y 的值。原创 2023-10-10 21:02:30 · 26 阅读 · 0 评论