c++ 判断指针为空_C语言中最有趣、最强大的元素是什么?网友直呼:指针

前言

不得不说C语言中的指针既有趣又强大。通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。可以说指针是C语言中重要的存在,必须掌握。

7d3ddd1b0139eb95b2cca32454906f73.png

什么是指针(Point)?

指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:

数据类型 *变量名称;

举几个实际例子:

int* a; //有符号 整型 指针

unsigned int* b; //无符号 整型 指针

char* c; //字符串指针

struct tagItem* d; //结构体指针

void* e; //万能、或任意指针

通过上述例子,我们得知,不同数据类型有不同类型的指针。它们的区别在于数据类型的不同,但定义模式是一致的。

456079be0c40eea77deece71dc152a94.png

怎么使用指针呢?

想要用好指针,我们必须深刻认识上述讲到的指针的功能。接下来,我们还是从实际例子来进一步描述和使用指针。

int main(){   int a = 100;   int* pA = &a;      //将pA指向变量a   int b[3] = { 0, 1, 2 };   int* pB = b;        //将pB指向变量b,其中b是整型数组    *pA = 1000;            //为指针指向的地址赋值1000,即变量a 变为了 1000  *pB = 100;              //为数组b第一个元素赋值 100  *(pB + 1) = 101;     //为数组b第二个元素赋值 101    return 0;}

更详细点,指针的用途基本可分为以下几种:

  1. 算术运算,比如:p++,p--,亦或p+=5,通常用于字符串指针、亦或数组指针。
  2. 作为结构体的成员变量使用。通常用于指向一个内存块、或共享数值的变量。
  3. 作为函数参数、或返回值使用。目的为了实现按地址、引用传递,而非按值传递。通常用于对结构体、或数组、或函数的指针,传递。
51fc018770cc2314248dc87bf9bf9b42.png

指针中的重点之一,空指针,NULL

NULL是什么?它代表空,没有指向地址,通常用作初始化指针,告诉编译器指针暂时空闲。可为什么说NULL很重要?

因为指针本质是指向一块内存区域,而我们通常是无法直接判断指向的内容是否合法,这就造成了指针使用困难。而如果通过判断指针是否为NULL(0),来判断是否合法,那么这一难题就迎刃而解。

if (p){ //指针指向有效 }

if (!p){ //指针指向无效 }

通过上述例子,我们可以明确知道判断方法。但要实现判断,还有个重要的前提条件:指针不再使用的时候,务必置为NULL(0)。

int* a = 0; //定义指针,并初始化为空。

int b;

a = &b; //设置指针

if (a){

*a = 100; //为变量b赋值

a = 0; //释放指针

}

e076a115beb5251e50bd8968af7e0157.png

总结

篇幅有限,指针博大精深,更多的关于指针的使用,需各位软件工程师,不断地练习,理解。

更多精彩,请关注“技术同胞”

#C语言# #指针# #电脑编程# #编程语言#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值