- 博客(12)
- 收藏
- 关注
原创 c语言--结构体详解
将2的地址存在1的指针域中,当1要找2时,就能通过2的地址找到2,以此类推,等到4时,不想再找下去了,给4传递一个空指针就行了。我们知道,结构体的大小和内存对齐有关,内存对齐又和对齐数密不可分,有些编译器是自带默认对齐数的,如vs的默认对齐数就是8,那么默认对齐数是否能够修改呢?在使用结构体的自引用的过程中,很容易出现错误,下面来说一个常见的错误,用typedef关键字对匿名结构体类型重命名。错误原因:代码的运行是一行行往下走的,用typedef重名时,重命名的类型必须是现成的,存在的,那么。
2024-03-06 12:06:01
1373
2
原创 位操作符:&、|、^、~
操作符有很多,但大多数在c语言前面的学习中会有涉猎,这里重点来讲讲位操作符和结构成员访问操作符。因为正数的原码,反码,补码都相同,所以c的原码也和他的补码一样,计算得2.正数的原码,反码,补码都相同,所以c的原码也和他的补码一样,计算得3.正数的原码,反码,补码都相同,所以c的原码也和他的补码一样,计算得1.两个补码之间一一对应操作,有0变0,两个为1取1。由c的原码计算得c为-3.
2024-03-03 11:17:54
380
原创 const修饰指针变量
前言前言在指针的学习中,const算是一个十分重要的知识点,但大部分的人在初学时都是对它一知半解,没有深入了解,但在以后的学习中,深层次地理解const是如何修饰指针变量还是很有必要的。1.const修饰变量const翻译是常量的意思,先以一个普通常量来观察const的作用,如图:知道const的作用后,先来看一段简单代码:先弄清楚p,&p,a之间的关系。看图:总结一下,a(变量):1.有自己的地址;2.有自己的空间;3.自己空间里存放的是a的值;
2023-12-10 13:29:57
535
1
原创 static和extern
static和extern都是c语言中的关键字,在c语言的学习中不可忽视,尤其是static的作用,非常重要,经常被面试官当做问题来提问。extern的作用很单一,但因为经常和static一起讨论,这里就也一并说说。接下来就来讲讲这两个关键字各自有什么作用。static的作用1.static修饰局部变量再讲static修饰局部变量前我们先来了解两个知识点:作用域和生命周期1)作用域通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
2023-12-05 18:00:55
934
原创 简易扫雷游戏的实现
mine[x - 1][y] + mine[x - 1][y - 1] + mine[x - 1][y + 1] + mine[x][y - 1]+ mine[x][y + 1] + mine[x + 1][y - 1] + mine[x + 1][y] + mine[x + 1][y + 1]求的是8个格子字符之和,再用他们减去8个'0'就能得到周围有几个雷的数字了。@1 假如点击的方格周围只有一个雷,那么方格得显示1才行,可问题是这个1是雷的1,还是周围有一个雷的1呢,这就产生了歧义,怎么解决呢?
2023-11-11 01:08:03
197
1
原创 c语言数组详解(1)
1.数组的概念1.数组的概念就像学习加减乘除前,我们要先认识数字,学习数组前,我们得知道数组到底是什么。一句话来说,数组就是分析这句话,我们能得出2个结论:(1)数组中存放的是一组数据,可以是一个,也可以是几个,但数组元素个数不能为0。(2)如果数组中存放的是多个数据,那么这些数据的类型是相同的。2.一维数组1)一维数组的创建(1)一维数组创建的基本语法:下面我们来解剖一下这个语法:*type表示存放在数组中的元素的类型,可以是int,char.....但要注意的是只能有一个。
2023-11-09 22:51:24
98
1
原创 break语句与continue语句
break语句的作用很简单,就是跳出循环,执行循环之后的代码。你是一个家族子弟外出历练30天,每天只能吃土,但是第18天你家里人看不下去了,让你别历练了,回家继续每天好吃好喝,然后你就结束了这次历练,回到了原来的日子。而break的作用就是这样,直接跳出循环,之后就不再循环了。
2023-11-03 21:48:54
513
原创 浅谈(while)循环与(for)循环
我们看看for循环的运行流程:先执行表达式1只执行一次,接下来执行表达式2,若表达式2正确,此时并不是直接执行表达式3,而是执行下面的语句“printf("%d ”, a)",执行完语句后,再执行表达式3进行调整,调整之后执行表达式2反复之前的步骤,知道表达式2错误,则停止循环。可以看出,执行while时循环首先判断表达式,若表达式正确,则执行下面的语句,执行完语句后又回到表达式判断对错,若对则继续执行下面语句,周而复始,一直执行到表达式错误,则不再执行while循环。//打印1-10之间的所有数字。
2023-10-21 11:47:53
231
1
原创 论分支中的(if)与(switch)
实际上(switch)是一种特殊形式的(if...else)结构,是用于判断条件有多个结果的情况下,把(else if)改为更简单,可读性更强的一种形式。但是(if)中有一种特殊的形式叫“嵌套if”,是为防止括号太多延伸出来的一种形式,对比一下就可以知道就是把中间的括号去掉,然后把if放在else后面,ps:else和if中间要加空格。这就是(switch)的完整代码了,ps:"case"表示入口,而"break"表示出口,若是没有"break"代码会怎么样呢?
2023-10-17 13:47:57
137
原创 从零开始c语言
hh,虽然现在还很菜,遇到很多问题都会焦头烂额,但是我也不会放弃,也坚信跟着鹏哥会打下坚实的基础,达到我想到达的水平。当然,“不想当将军的士兵不是好士兵”,我也想在大二参加一些比赛,希望大家多多关照。大家好,我是一名软件工程专业的大一新生,写下这一篇博客也是寄予了我的对未来的憧憬,想以c语言为起点一步步地成为精通多门计算机语言的大神。
2023-10-13 19:50:38
79
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅