- 博客(25)
- 收藏
- 关注
原创 数据在内存中的存储
这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着⼀个字节,⼀个字节为8bit 位,但是在C语⾔中除了8 bit 的 char 之外,还有16 bit 的 short 型,32 bit 的 long 型(要看具体的编译器),另外,对于位数⼤于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度⼤于⼀个字节,那么必然存在着⼀个如何将多个字节安排的问题。因此就导致了⼤端存储模式和⼩端存储模式。
2025-05-20 20:58:37
1049
原创 c语言内存函数
如果要⽐较2块内存单元的数据的⼤⼩,可以使⽤ memcmp 函数,这个函数的特点就是可以指定⽐较⻓度。memcmp 函数是通过返回值告知⼤⼩关系的
2025-05-18 15:06:56
1039
原创 字符函数和字符串函数
功能:统计参数 str 指向的字符串的⻓度。统计的是字符串中 '\0' 之前的字符的个数。参数:str :指针,指向了要统计⻓度的字符串。返回值:返回了 str 指向的字符串的⻓度,返回的⻓度不会是负数,所以返回类型是 size_t 。
2025-05-17 21:26:33
713
原创 深入理解指针(6)
sizeof 计算变量所占内存空间⼤⼩的,单位是字节,如果操作数是类型的话,计算的是使⽤类型创建的变量所占内存空间的⼤⼩。sizeof 只关注占⽤内存空间的⼤⼩,不在乎内存中存放什么数据。
2025-05-17 18:17:37
787
原创 深入理解指针(4)
二维数组其实是一维数组的数组二维数组每个元素其实是一维数组二维数组的首元素其实是他的第一行 //int(*arr)[5]数组名表示首元素的地址时,就是第一行的地址第一行是一个一维数组
2025-05-11 19:42:14
766
原创 深入理解指针(5)
使用qsort函数排序整型数据void qsort(void* base, //是指针,指向了被排序数组的第一个元素 size_t num, //base指向的被排序数组的元素个数 size_t size, //base指向的被排序数组的元素的大小(长度),单位是字节 int (*compar)(const void*, const void*)//是什么?函数指针,指针指向的函数是用来比较被排序数组中的两个元素的 );
2025-05-11 19:34:19
1151
原创 深入理解指针(3)
sizeof(数组名),sizeof中单独放数组名,这⾥的数组名表⽰整个数组,计算的是整个数组的⼤⼩,单位是字节&数组名,这⾥的数组名表⽰整个数组,取出的是整个数组的地址(整个数组的地址和数组⾸元素的地址是有区别的)
2025-05-09 21:11:34
1327
原创 深入理解指针(2)
const在修饰指针变量的时候:const 可以放在*的左边,const限制的是pa指向的对象,也就是*pa不能给修改但是pa不受限制,也就是指针变量可以改变指向const 可以放在*的右边,const限制的是pa,也就是pa的指向不能改变了但是*pa不受限制,也就是说pa指向的内容,是可以通过pa来改变的
2025-05-09 15:49:31
888
原创 操作符详解(2)
即使有了操作符的优先级和结合性,我们写出的表达式依然有可能不能通过操作符的属性确定唯⼀的计算路径,那这个表达式就是存在潜在⻛险的,建议不要写出特别复杂的表达式。
2025-05-08 16:00:37
1093
原创 操作符详解 (1)
16进制的数字每⼀位是0~9, a~f 的,0~9, a~f的数字,各⾃写成2进制,最多有4个2进制位就⾜够了,⽐如 f 的⼆进制是1111,所以在2进制转16进制数的时候,从2进制序列中右边低位开始向左每4个2进制位会换算⼀个16进制位,剩余不够4个⼆进制位的直接换算。其实10进制的每⼀位是有权重的,10进制的数字从右向左是个位、⼗位、百位....,分别每⼀位的权重是 10^//逗号表达式 =>13。//11111111111111111111111111110110 ---> -10的补码。
2025-05-03 13:33:29
739
原创 知识点:函数递归
递归其实是函数自己调用自己上述就是⼀个简单的递归程序,只不过上⾯的递归只是为了演⽰递归的基本形式,不是为了解决问题,代码最终也会陷⼊死递归,导致栈溢出(Stack overflow)。1.1 递归的思想:递归的思考⽅式就是把的过程。递归中的的意思,的意思,接下来慢慢来体会。1.2 递归的限制条件递归在书写的时候,有2个必要条件:· 递归存在限制条件,当满⾜这个限制条件的时候,递归便不再继续。· 每次递归调⽤之后越来越接近这个限制条件。2 递归举例2.1 举例1:求n的阶乘。
2025-04-24 16:51:40
1058
原创 VS实⽤调试技巧
1.调试快捷键1.调试快捷键创建断点和取消断点的作⽤是可以在程序的任意位置设置断点,打上断点就可以使得程序执⾏到想要的位置暂停执⾏,接下来我们就可以使⽤F10,F11这些快捷键,观察代码的执⾏细节。:满⾜这个条件,才触发断点F5:启动调试,经常⽤来直接跳到下⼀个断点处,⼀般是和F9配合使⽤。逐过程,通常⽤来处理⼀个过程,⼀个过程可以是⼀次函数调⽤,或者是⼀条语句。逐语句,就是每次都执⾏⼀条语句,但是这个快捷键可以使我们的执⾏逻辑进⼊函数内部。
2025-04-24 15:02:53
396
原创 知识点:函数(2)
6. 数组做函数参数写⼀个函数将⼀个整型数组的内容,全部置为-1,再写⼀个函数打印数组的内容。int i = 0;for (i = 0;i < sz;for (i = 0;i < sz;i++)//写一个函数将arr数组的内容全部设置为-1//写一个函数,打印arr数组的所有内容return 0;这⾥我们需要知道数组传参的⼏个重点知识:1. 函数的形式参数要和函数的实参个数匹配。
2025-04-20 19:59:44
854
原创 知识点:函数(1)
其实在C语⾔也引⼊函数(function)的概念,有些翻译为:⼦程序,⼦程序这种翻译更加准确⼀些。C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码。这段代码是有特殊的写法和调⽤⽅法的。在C语⾔中我们⼀般会⻅到两类函数:库函数⾃定义函数。
2025-04-18 21:52:37
840
原创 分支和循环(3)
要⽣成100~200的随机数100+rand()%(200-100+1)//因为200-100+1等于101%之后0~100再加100=>100~200所以a~b的随机数案例:int main()//设置随机数生成的种子//要给srand传一个变化的值就行//程序运行起来后,只需要设置1次就行//因为%100之后的范围在0~99最后加1就变成了1~100return 0;
2025-04-15 21:36:23
820
原创 分支和循环(2)
假设要判断i是否为素数,需要拿2~i-1之间的数字去试除i,需要产⽣2~i-1之间的数字,也可以使⽤。整个循环的过程中,表达式1初始化部分只被执⾏1次,剩下的就是表达式2、循环语句、表达式3在循。如果2~i-1之间有数字能整除i,则i不是素数,如果都不能整除,则i是素数。//找出2~i-1之间的数字依次去试除i - for。//找出2~i-1之间的数字依次去试除i - for。//找出2~i-1之间的数字依次去试除i - for。要想得到n的最低位,可以使⽤n%10的运算,得到的余数就是最低位,
2025-04-12 22:39:26
652
原创 分支和循环(1)
/如果一个变量和一个常量值比较相等的时候,建议将常量值放在==的左边。//如果一个变量和一个常量值比较相等的时候,建议将常量值放在==的左边。:逻辑或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假):逻辑与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)表达式成⽴(为真),则语句执⾏,表达式不成⽴(为假),则语句不执⾏,b = (a > 5?printf("%d是奇数\n", a);printf("%d是奇数\n", a);printf("%d是偶数\n", a);
2025-04-10 19:13:25
738
原创 C语言数据类型和变量(3)
a,b 中间scanf("%d,%d", &a, &b);//键盘输入1 -20 3.4 -4.0e3--->-4.0e3是科学计数法 -4.0*10的3次方。%d-%d-%d 键盘打印的时候数字之间要有-这个,如果没有只会打印出第一个数字。printf("成绩是: %d\n", score);
2025-04-09 20:15:38
703
原创 C语言数据类型和变量(2)
getchar输出字符,在网址中https://cplusplus.com/中Legacy version中搜索getchar,是int类型。//如果文本内部有换行,也是通过插入换行符来实现,②printf() 不会在行尾自动添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行。//除法中除号的两端都是整数(6/4)除出来(1.5)只会是取商-->1。在变量创建的时候给一个初始值叫初始化,在变量创建好后,再给一个值,这叫赋值。//后置--:先使用,再-1。//连续赋值,从右向左依次赋值的。
2025-04-05 20:30:03
698
原创 C语言数据类型和变量(1)
sizeof运算符的返回值,在C语言中创建一个类型别名size_t来表示---->因为C语言只规定是无符号整数,没有规定具体的类型。不同的系统中,返回值类型可能是unsigned int,也可能是unsigned long,还可能是unsigned long long,--->对应的printf( )占位符分别为%u,%lu,%llu。在⼤括号内部定义的变量就是局部变量 局部变量的使⽤范围是⽐较局限,只能在⾃⼰所在的局部范围内使⽤的。LONG_MIN, LONG_MAX:long的最小值和最大值。
2025-04-03 16:29:37
764
原创 c语言常见概念
①在键盘上可以打出各种字符,如:a,b,#等被称为字符,在C语言中要用单引号括起来, 如:'a','b','#'\b退格键,\f换⻚符,\n换⾏符,\r回⻋符,\t制表符,\v垂直分隔符。1973年Unix系统使用C重写-->1988年C语言标准化-->至今。③C++文件(.cpp)-->起名字 => 名字.c-->点添加。①创建新项目-->空项目-->起项目名称,选位置-->点击创建。1969年发明B语言--->1972年发明C语言-->main函数可以在程序的任何位置。
2025-04-02 19:22:26
561
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1