- 博客(9)
- 收藏
- 关注
原创 关于switch的语法
2、进入case后,如果没有break跳出当前switch循环,那么后续case 的条件没有满足,依据会执行case后的语句。1、满足q语句,进入case。
2023-09-14 21:09:31
65
1
原创 if语句 ,多分支if
这里输出了,老头,说明此第二个else是执行了的,而,上面的printf依旧没有执行,那么也就是说,此else是匹配第一个if,也就是a==0的条件。接下来将a赋为0,满足if条件判断,可以看到此时,两个if都刚好达到了语句中的条件,所以输出少年!,所以这段代码是没有输出的。else就近匹配原则。
2023-09-14 21:01:22
96
1
原创 结构体、结构体指针变量
2、这里结构体构造时,注意{}后面有分号,容易忘记!1、结构体指针类型,关键字+结构体名字+* +变量名。结构体是c语言能够描述复杂类型。就是能够创建新的类型!
2023-09-09 23:53:03
70
1
原创 关键字typedef,类型重命名
2、注意如果全局变量被static修饰,extern无法引用此变量,只能在源文件中使用!关键字typedef,此时unsigned int类型就更名为u_int。3、修饰函数和修饰变量的规则一样,被static修饰不能引用!static 修饰局部变量,改变局部变量生命周期。extern 声明外部符号。1、就是引用别的文件的变量。
2023-09-04 16:33:59
74
1
原创 操作符,左移、右移操作符
三目操作符:语句1判断为真,语句二执行,反之则语句三执行,语句二和三只能执行一个。2、最终结果为最后一个表达式结果,前面的表达式是否影响结果,要看具体情况。总结:数字的二进制展示出来给人看的是原码,参与进内存计算的是补码,也就说加减乘除等等,都是以补码的形式计算出来后,再变回原码显示出来的。1、忘记了二级制的特性,逢二进1,总算看懂补码减1怎么减了!%d打印的是源码,内存中算的是补码,所以其中必须要转换。1、左移箭头表示左移操作的目标,1表示左移1位。单目操作符:只有一个操作数的。函数调用操作符: ()
2023-09-04 00:56:37
79
1
原创 字符串,字符,字符数组
1、arr1中放的是字符串,arr2中放的是字符,字符串结尾会自带\0结束打印,而字符不会,所以会造成乱码!深层原因就是跟内存有关,内存空间连续,没有停止就会打印后续的未知。1、这里arr1正常输出字符串长度3(注意:隐藏的\0是不算在字符串长度中的),而arr2因为没有\0结束,所以这里输出的是一个随机值42。1、这里数组arr中【】没有具体数值,根据=后面的实际值,初始化大小。2、字符串在结尾隐藏了一个\0字符,\0字符是字符串的结束标志!这里疑惑: 没有运行到return 值标红的。
2023-09-03 11:02:37
54
原创 【无标题】
这里可以看到此时arr中第一位已经有值为1,*p是指针变量,类型为int * (刚刚又搞错了,查了下哈哈)此时p=2相当于,p=arr,也就是arr给p赋值。然后就是循环往复,直到数组填满。这里是指针的写法,附上监视图。
2023-09-02 21:07:16
41
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人