指针基础知识点

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值