39.NULL和临时变量和顺序结构

本文详细介绍了C语言中的NULL概念,包括其作为野指针的安全指向和特殊标记的作用。同时,讨论了高级语言中的临时匿名变量在运算过程中的作用,以及如何通过临时变量理解不同类型之间的转换。此外,还阐述了程序中的顺序结构,从代码执行到编译、链接过程中的顺序性,并提及了调试程序时的debug宏及其工作原理。
摘要由CSDN通过智能技术生成

39.1.C语言中的NULL
(1)从指针角度理解NULL的本质;int_*p;(若p是1个函数内的局部变量,则p的值是随机的,即p是1个野指针);int_*p=NULL;(若p是1个局部变量,则p的值是(void_*)0,实际就是0,意思是指针p指向内存的0地址处,则p不是野指针)(见图1)。
(2)在大部分的CPU中,内存的0地址处是操作系统严密管控区域,所以应用程序不能随便访问;野指针指向了该区域可以保证野指针不会造成误伤,若程序无意识的解引用指向0地址处的野指针则会触发段错误,则可以提示你帮助你找到程序中的错误。
(3)NULL的第1个作用就是让野指针指向0地址处安全;NULL的第2个作用就是作为1个特殊标记在标准的指针使用步骤起作用(见图2)。
(4)’\0’(转义字符,对应的ASCII编码值是0);’0’(1个字符,对应的ASCII编码值是48);0(1个数字,就是数字0);NULL(1个表达式,强制类型转换为void_*类型的0)。
(5)’\0’用法是C语言字符串的结尾标志,用来比较字符串中的字符以判断字符串有没有到头;’0’是字符0,对应0字符的ASCII编码,用来获取0的ASCII码值;0是数字,用来比较某个int类型的数字是否等于0;NULL是1个表达式,用来比较指针是否是1个野指针。


39.2.运算中的临时匿名变量
(1)C语言-高级语言,汇编语言-低级语言ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值