![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言基础知识
无名之辈YH
记录一些自己学习的信息。然后都是本人在书本、免费或者付费课程、博客等学到的知识想分享一下。有些确实找不到出处,然后不做商用,如有侵权立即删除。如有错误,请大家积极指正谢谢!~
展开
-
15、字符串函数
在这个函数里strtok()在分解字符串的时候,第一个参数str是在不断变化的,这个函数是在改变原字符串,把原字符串{aaa - bbb - ccc}通过第二个参数delim将所有的分割符{-}替换成字符串结束标志字符{\0},则原字符串变化为{aaa \0 bbb \0 ccc},直接从第二个分隔符往下继续分解,例如:{- aaa - bbb - ccc} 那么strtok()会忽略第一个{-},还是以{aaa - bbb - ccc}的字符串形式继续分解。,但我们要考虑空间内存布局,在。原创 2023-10-27 10:13:21 · 32 阅读 · 1 评论 -
13、字符常量
注意,字符串常量后面会加上一个 \0 字符( \0 字符的ascii 值是 0)"a" 和 'a'的区别是 'a' 为一个字符 "a" 为两个字符。:后面跟着这个 '\0' 方便操作字符串。原创 2023-10-27 09:54:16 · 24 阅读 · 1 评论 -
12、限定符
textcolor{Yellow}{Register 建议将变量定义在寄存器中 } // 当变量要频繁改变 如果一个变量用register来修饰,则意味着该变量会作为一个。以适应它的未知何时会发生的变化,系统对这种变量的处理不会做优化——显然也是因为它的数值随时都可能变化的情况。对于volatile类型的变量,系统每次用到他的时候都是直接从对应的内存当中提取,CPU对变量进行读取是先将变量的值从内存中读取到寄存器中,再进行运算,extern 声明 (告诉编译器有这个东西,不开辟空间)原创 2023-10-27 09:52:32 · 18 阅读 · 1 评论 -
11、浮点型
double 类型能够保证的精度是15位有效数字。float 类型能够保证的精度是7位有效数字。%f 打印时,默认输出6位小数点。原创 2023-10-27 09:51:52 · 21 阅读 · 1 评论 -
10、字符:存储、运算时转换成ASCII值
因为字符所对应的最大ascii值是127,所以用char类型就可以存得下所有的字符。单个字符用 单引号' '引起来。字符'0' ascii值是48。字符'1' ascii值是49。'A' ascii值是65。'B' ascii值是66。'a' ascii值是97。'b' ascii值是98。原创 2023-10-27 09:50:49 · 47 阅读 · 1 评论 -
9、进制的书写和打印
默认是double类型 所以sizeof(3.14)=8 后面跟着。m.n 格式:表示输出长度为m,其中小数部分n位。%llu 有符号long long 无符号。%lld 有符号long long 类型。%hu 无符号打印 short%ld。%hd 有符号打印 short。%ld 有符号打印long。%lu 无符号打印long。原创 2023-10-27 09:45:31 · 58 阅读 · 1 评论 -
8、编码: (溢出部分还需加强)
数值溢出(数值赋值和输出打印给值情况 赋值十进制给的是原码,八进制和十六进制给的是补码)都是转换成二进制存储。注意: 负数如果在计算机中用原码存,会导致两个问题 (1)负数运算结果不正确,(2)0的状态还有两种。(1)原码:数的最原始的二进制码 (缺点:0有两种表示 -1 + 1 = -2 不等于0)。如果计算机用反码去存,负数运算结果正确,(1)但是 0的状态还是有两种。(2)反码:正数的反码不变 ,负数的反码(符号位不变,其他位取反)(3)补码:正数的补码不变,负数的补码等于反码加1。原创 2023-10-27 09:42:18 · 24 阅读 · 1 评论 -
7、有符号数和无符号数
有符号: 可以表示正数和负数signed char num; 有符号数num 有符号: 最高位为符号位,其他位数据位。 无符号: 只能表示正数 unsigned char num;无符号数num 无符号:全都为数据位。 有符号数和无符号数能够表示数的个数相同,只是表示数的范围不一样原创 2023-10-27 09:36:15 · 21 阅读 · 1 评论 -
1、c语言编译步骤
原创 2023-10-23 19:30:47 · 15 阅读 · 0 评论