- 博客(31)
- 收藏
- 关注
原创 6、指针结合数组
(1)指针加1,跨过一个步长。步长 = sizeof(int);(2)要得到内存的数据,就该先得到数据的地址。*(地址) 得到的是地址里面的内容。
2023-12-04 21:24:26
410
原创 23、函数
(2)函数定义时()里面的参数叫形参,(因为这个形参只是形式上的参数,\textcolor{Melon}{定义函数没有给形参开辟空间,形参只有在被调用时才会分配空间}函数就是将原来在main函数中的代码换一个位置,存放在另一个地方 //存代码块的东西就是函数。以后如果实参是传变量本身,只会是值传递,不会把变量本身的空间给传进去、(1)函数的定义不能定义在函数的代码块里,必须在函数的外面定义函数。(4)实参传给形参,形参的值改变不会改变实参的值(值传递)b、函数的声明,把函数的定义形式放在调用之前。
2023-12-04 21:16:04
369
原创 22、编码习惯规范
2、代码习惯: char buf[128] = " ";// 里面填写2的n次方。1、定义都在.c文件,声明在.h文件。因为.h会被多次包含。
2023-12-04 21:13:33
426
原创 21、数组
申请地址为5,但是输入了超过5个字节,遇到 \n 才结束 就会把后面的数据都存进去,则造成内存污染,改了别人的数据。a、字符串就是字符数组中有 \0 字符的数组 , 因为有了 \0 字符的字符数组,操作起来方便。(1)数组: 将若干个相同数据类型的变量存放在一个连续的内存空间。// 此处不报错,2位置之后的元素都是随机的 输出0。(5)数组的每一个元素都是变量,可以被改变赋值。(6)数组占用内存大小是其元素占用内存大小之和。(2)数组中的每一个元素都是一个变量。(8)数组的地址和数组名。
2023-12-04 21:12:52
372
原创 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
63
1
原创 14、C 语言输入输出函数的优缺点(putchar、printf、scanf、getchar、gets、fgets、fputs)
'(2)如果存放读取字符的空间不足,继续向后存放,会造成内存污染。'(1)遇到 空格 就会提前结束读取,
2023-10-27 10:03:37
372
1
原创 13、字符常量
注意,字符串常量后面会加上一个 \0 字符( \0 字符的ascii 值是 0)"a" 和 'a'的区别是 'a' 为一个字符 "a" 为两个字符。:后面跟着这个 '\0' 方便操作字符串。
2023-10-27 09:54:16
63
1
原创 12、限定符
textcolor{Yellow}{Register 建议将变量定义在寄存器中 } // 当变量要频繁改变 如果一个变量用register来修饰,则意味着该变量会作为一个。以适应它的未知何时会发生的变化,系统对这种变量的处理不会做优化——显然也是因为它的数值随时都可能变化的情况。对于volatile类型的变量,系统每次用到他的时候都是直接从对应的内存当中提取,CPU对变量进行读取是先将变量的值从内存中读取到寄存器中,再进行运算,extern 声明 (告诉编译器有这个东西,不开辟空间)
2023-10-27 09:52:32
43
1
原创 11、浮点型
double 类型能够保证的精度是15位有效数字。float 类型能够保证的精度是7位有效数字。%f 打印时,默认输出6位小数点。
2023-10-27 09:51:52
54
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
128
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
160
1
原创 8、编码: (溢出部分还需加强)
数值溢出(数值赋值和输出打印给值情况 赋值十进制给的是原码,八进制和十六进制给的是补码)都是转换成二进制存储。注意: 负数如果在计算机中用原码存,会导致两个问题 (1)负数运算结果不正确,(2)0的状态还有两种。(1)原码:数的最原始的二进制码 (缺点:0有两种表示 -1 + 1 = -2 不等于0)。如果计算机用反码去存,负数运算结果正确,(1)但是 0的状态还是有两种。(2)反码:正数的反码不变 ,负数的反码(符号位不变,其他位取反)(3)补码:正数的补码不变,负数的补码等于反码加1。
2023-10-27 09:42:18
62
1
原创 7、有符号数和无符号数
有符号: 可以表示正数和负数signed char num; 有符号数num 有符号: 最高位为符号位,其他位数据位。 无符号: 只能表示正数 unsigned char num;无符号数num 无符号:全都为数据位。 有符号数和无符号数能够表示数的个数相同,只是表示数的范围不一样
2023-10-27 09:36:15
64
1
原创 6、C++ const的用法详解
(2)如果**函数名、参数、返回值都相同**的$\textcolor{Yellow}{const成员函数和非const成员函数}$是可以构成**重载**.(1) const 对象只能访问const 成员函数,非const 的对象可以访问任何成员函数,包括const 成员函数。(3)那么const对象调用const成员函数,非const对象默认调用非const的成员函数。(4)**const成员函数可以访问所有成员变量,但是只能访问const的成员函数。(3)const修饰指针(*)(4)const修饰。
2023-10-23 19:57:20
55
原创 5、数据类型(定义与声明)
可以这样理解:函数声明是说明函数是什么,函数定义是说明函数做什么。在 C/C++ 中,变量的声明和定义区别并不大,定义和声明往往是同时发生,变量定义时,会根据变量类型分配空间。(3)声明是告诉编译器变量或函数的类型和名称等,定义是告诉编译器变量的值,函数具体干什么。(1)变量/函数可以声明多次,变量/函数的定义只能一次。声明是用来告诉编译器变量的名称和类型,而不分配内存。([定义的本质是在内存开辟空间,给这个空间取名])定义是为了给变量分配内存,可以为变量赋初值。(2)声明不会分配内存,定义会分配内存。
2023-10-23 19:52:06
135
原创 4、VS软件出现4996编号错误
错误C4996 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2023-10-23 19:39:54
161
原创 3、GPU主要用于浮点运算(1.34243432*43.242)(图形处理器)
32位CPU能访问 32位的地址总线:2^32 = 2^10 * 2^10 * 2*10 * 4= 1024 * 1024 * 1024 * 4(字节) = 4G。:CPU需要运算需要数据,此时数据就暂存在寄存器中。(缓存不是寄存器,缓存离CPU比较近,所以比内存要快)32位的地址总线最大能访问4G的内存,64位系统访问上限为2^64字节内存。距离CPU的远近程度:CPU > 寄存器 > 缓存 >内存。总线:传输数据,多大的总线能传输多少数据 最大总线是。64位CPU能够装32位系统。
2023-10-23 19:37:48
158
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人