C语言小知识
总结C语言容易搞混的小知识
核动力C++选手
优秀的猎手要耐心等待机会!
展开
-
宏offsetof的使用及其模拟实现
在这个例子中,结构体成员c1相较于结构体起始位置偏移量是0,结构体成员a相较于结构体起始位置偏移量是4,结构体成员c2相较于结构体起始位置偏移量是8,。将0地址看作结构体的起始地址,将0地址强制转换成结构体指针类型,取出结构体成员的地址,将其转换成无符号整形size_t类型。宏offsetof有两个参数,第一个参数是结构体类型,第二个参数是结构体成员,计算的是。使用宏offsetof的时候需要包含<stddef.h>这个头文件。那么如何自己模拟实现offsetof这个宏呢?原创 2023-10-19 17:18:31 · 126 阅读 · 0 评论 -
十六进制的几种打印格式(%x %2x %02x)
在我们打印十六进制时,会有几种不同的打印方式:%x,%2x,%02x,那么他们的区别是什么呢。%2x --- 要求打印2个16进制位,不够2个位的时候使。%02x --- 要打印2个16进制位,不够2个位的时候使。%x --- 一般的16进制的打印。原创 2023-10-13 07:52:23 · 4873 阅读 · 0 评论 -
scanf( )接收字符时,在%c之前加空格或在之后加\n
2.在%c后面给一个'\n',其实在输入的时候就会消化掉这个\n,不会为下次留下空白字符的隐患。1.在c%之前加空格可以消除%c前的空白字符。原创 2023-08-25 19:24:25 · 758 阅读 · 0 评论 -
C语言strchr函数
strchr函数用于在一个字符串中查找某个字符的第一次出现的位置。的指针,如果未找到,则返回空指针(NULL)。函数返回指向第一次出现字符。是要进行查找的字符串,原创 2023-08-25 19:01:24 · 1366 阅读 · 0 评论 -
C语言gets( )函数详解
gets()函数原创 2023-08-25 15:52:44 · 7757 阅读 · 0 评论 -
详解strcmp函数
strcmp函数是用来比较两个字符串的,按理来说,比较结果只有两种:相同或不同。用户登录网站,通常需要注册,一般需要输入两遍密码。请编程判断输入的两次密码是否一致,一致输出“same”,不一致输出“different”这个函数开始比较这两个输入字符的的第一个字符,如果相等,则继续比较这两个字符串的下一个字符,直到字符不同或达到\0为止。这个函数的输入为两个字符串的首元素地址(即字符数组的数组名),输出为int整形。每行有两个用空格分开的字符串,第一个为密码,第二个为重复密码。BC89 密码验证。原创 2023-08-19 20:45:25 · 794 阅读 · 0 评论 -
C语言中0、‘0’、‘\0’、EOF的区别
3. '\0' - 其实是'\ddd' - 一般作为字符串的结束标志,数值是0。2. ‘0’ - 字符0 - 字符0的ASCII值是48 - 数值是48。1. 0 - 数字0 - 数值就是0。原创 2023-08-01 20:25:55 · 712 阅读 · 0 评论 -
getchar和putchar函数
getchar() - 获取(输入)一个字符,当getchar()读取字符成功时,windows环境按ctrl+z getchar返回EOF。,读取失败或遇到文件末尾的时候就返回EOF。putchar() - 输出一个字符。这里的代码适当的修改是可以用来。原创 2023-08-06 08:38:19 · 100 阅读 · 0 评论 -
C语言中sizeof和strlen的区别
strlen是库函数,是统计字符串长度的,计算的是\0之前出现的字符的个数,只能针对字符串。sizeof是操作符,计算的是占用内存的大小,单位是字节,计算的对象是什么类型都行。原创 2023-08-13 13:51:51 · 43 阅读 · 0 评论