【详解·参加比赛版】信奥教程·指针(有NOIP原题)

HELLO,今天我分享的是指针。

我们先来看看指针定义怎么写:

 它和变量很像,只是在前面加了一个“*”。

但是注意啦!!!我这种定义方式是错的!

如果像我这样写,会导致程序莫名崩溃!

因为如果初始时并不定义,会导致指针成为野指针!那野指针(wild pointer)是什么呢?

野指针是指未定义的指针,会乱指一气!

那如果指针一开始未定义,可是你又不知道定义谁的地址怎么办?

只需像下面这样即可:

NULL是什么?它能让指针指向空,自然不会崩溃。

怎样才能输出地址呢?请看下面的代码(printf用%p)

 那为了证明NULL可以指向空,来看执行结果:

那怎样指向a的地址呢?请看代码(&是取地址符): 

这里的意思是什么呢?

这里指针p指向了a的地址,输出结果就是a的地址

那指针有何用处?

指针用处是:可以通过地址去操控一个变量.

其实指针在使用时不需要加“*”!

我们来看一道NOIP2022普及组的真题:

你会选什么呢?

把你的第一想法告诉我吧(下面有讲解)!

 

正确答案为:D!你选对了吗?那为什么选D?首先我们可以排除B,A,因为一眼就可以看出他俩不对,我们来看C,q指向的地址为y,而复值代码是将q的值赋给p,排除法可知,选D。

好啦!指针就讲完啦!我们下期见!下期讲哈夫曼编码!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值