第三周博客
第三周博客
拒绝花里胡哨!!!
part.1:指针
1.指针的定义:存放某存储单元地址的变量
2.为什么要使用指针:在自定义函数中,往往考虑功能,入口,出口和返回值,其中,出口和返回值任选其一,而函数的返回值往往只能返回一个数,这个时候就需要使用指针来实现出口
3.指针的类型为无符号整型,所以在内存中占四个字节,如:charp,p占4个字节,但是p占一个字节,因为*p是char类型
4.经典的指针程序:用函数实现两数互换(参见第7点)
5.指针与数组
6.附注
7.大佬说:数组=指针=地址,计算机找值是通过地址,所以在函数中交换两数要用指针来交换地址;指针八字:没 *是地址,有 * 就是值(如:char * p,然后 *p和p, * p是值,当然也可能是以地址为值,p是地址 )
part.2.其他代码中学到的小知识
1.顺时针螺旋矩阵
外面一层大循环控制打印的圈数,里面的for循环控制一圈里每行每列打印的次数
以后如果要打印一圈的数,就可以用二维数组实现行与列的变换(一个题目拖了好几个星期,谢谢某猫的耐心解答)
2.scanf_s和%s不友好问题解决
不友好情况如下:会报错
解决方法如下:在数组名的后面加一个范围,成功运行不报错
关于为什么这里scanf里的a不用取地址符,是这样的:a是一个数组名,数组名就是数组的首地址
小拓展:
一般自定义数组:void function(int a[],int n)
在电脑的理解里:void function(int *a,int n)
part.3.记录一下最近发现的有趣代码
链接:https://suulnnka.github.io/BullshitGenerator/index.html