野指针和空指针

本文深入解析指针的基本概念,包括取地址(&)与取值(*)操作符的使用,探讨指针类型与变量类型匹配的重要性,警告不可引用未赋值的指针及避免非法赋值。特别强调了野指针与空指针的概念及其潜在风险,指导如何安全地操作指针,避免程序错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.&是取地址符号,是升维度的,取其右边变量的地址,如&d取变量d的地址。
*是取值符号(间接访问),是降维度的,表示右边指针变量所指向的变量,如:*p表示指针变量p所指向的变量
2.float *****p=&d;则****p是变量d,而&*p是变量p(即变量d)的地址p,&*p等价于p.
3.在定义指针类型一定要和变量的类型对应上
4.不能引用没有赋值的指针变量
5.不能用整形量或其他非地址量给指针变量赋值,不能将地址值赋给非指针变量。

野指针:

6.指针变量指向一个未知的空间(指的是内存里面的东西),操作野指针对应的空间是可能报错的,操作系统将0–255作为系统占用不允许访问操作。程序中允许出现野指针。
7.程序中尽量不要将一个具体的值赋给野指针变量

空指针:

8.空指针是指内存地址编号为0的空间 。
9.操作空指针对应的空间一定会报错

在这里插入图片描述

10.当我们使用完一个指针或是不想用的时候,可以将指针内容置为空
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值