C语言指针 Bertha 。 2023-05-31 07:56 25阅读 0赞 # C语言指针 # ## 1、 指针概述: ## ### 1、指针是一种数据类型,占用内存空间。用来保存内存地址。 ### ### 2、空指针: ### 标准定义了NULL指针,它作为一个特殊的指针变量,表示不指向任何东西,要使一个指针为NULL,可以给它赋值为一个零值,为了测试一个指针百年来那个是否为NULL,你可以将它与零值进行比较。 对指针的引用操作可以获得它所指向的值,但从定义上看,NULL指针并未执行任何东西,因为对一个NULL指针隐引用是一个非法的操作,在解引用之前,必须确保他不是一个NULL指针。 ### 3、野指针: ### 使用指针时,要避免野指针的出现:野指针指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为NULL避免,而只能通过养成良好的编程习惯来尽力减少。对野指针进行操作很容易造成程序错误。 *什么情况下会导致野指针:* 1)指针变量未初始化:任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指向。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。 2)指针释放后未置空:有时指针在free或delete后未赋值为NULL,便会使人以为是合法的。别看free和delete的名字(尤其是delete),它们只是把指针所指向是内存给释放掉,但并没有把指针本身干掉。此时指针指向的就是垃圾内存。释放后的指针应立即将指针置空,防止产生野指针。 3)指针操作超越变量的作用域:不要返回指向栈内存的指针或引用,因为栈内存在函数结束时就会被释放。 ### 4、操作野指针是非常危险的操作,应该避免野指针的出现: ### 1)指针初始化时置空NULL:指针变量一定要初始化为NULL,因为任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的。 2)指针释放时置空NULL:当指针p指向的内存空间释放是,没有设置指针p的值为NULL,delete和free只是把内存空间释放了,但是并没有将指针p的值赋为NULL。通常判断一个指针是否合法,都是使用if语句测试该指针是否为NULL。 ### 5、间接访问修饰符: ### 通过一个指针访问它所指向的地址的过程叫做间接访问,或者叫解引用指针,这个用于指向间接访问的操作符是\*。 注意:对一个int\* 类型指针解引用会产生一个整型值,类似地,对一个float\* 指针解引用会产生了一个float类型的值。 ### 6、指针的使用: ### \*1)在指针声明时,\*号表示所声明的变量为指针; 2)在指针使用时,*号表示操作指针所指向的内存空间;* (1)\*相当通过地址(指针变量的值)找到指针指向的内存,再操作内存; (2)\*放在等号的左边赋值(给内存赋值,写内存) (3)\*放在等号的右边取值(从内存中取值,读内存)
相关 C语言指针 C语言指针 1、 指针概述: 1、指针是一种数据类型,占用内存空间。用来保存内存地址。 2、空指针: 标准定义了NULL指针,它作为一个特殊的指针变量, Bertha 。/ 2023年05月31日 07:56/ 0 赞/ 26 阅读
相关 【C语言】指针 50、指针变量用来记录地址数据 51、只有记录了有效地址的指针变量才可以使用 52、声明指针变量时需要在变量名称前写\ 53、指针变量名称前加\可以表示指针所捆绑的存储区 亦凉/ 2022年06月12日 04:49/ 0 赞/ 295 阅读
相关 c语言指针 //指针怎么用 // (区分两个概念,指针变量和指向内容,指针变量只保存一个地址值,在这个地址值对应的内存中具体存放的东西叫做指向内内容) 用变量 ╰半夏微凉°/ 2022年06月04日 08:58/ 0 赞/ 301 阅读
相关 C语言指针 C语言中,指针尤为重要。 1可以把指针看作是一个数据类型。 ![SouthEast][] 打印结果: ![SouthEast 1][] 2 在指针声 今天药忘吃喽~/ 2022年05月31日 03:39/ 0 赞/ 297 阅读
相关 C 语言指针 1、CPU 访问内存,是通过内存地址来读写内存数据的,CPU 与内存条硬件之间有个地址总线,CPU 通过地址总线将要访问/写入的内存地址告诉内存条。 2、对于 CPU 而言地 拼搏现实的明天。/ 2022年05月29日 01:54/ 0 赞/ 320 阅读
相关 C语言指针 1、指针的基本知识 (1)定义 int \p; (2)赋值 1) int a;int p=&a 2) int a ;int p; 喜欢ヅ旅行/ 2022年03月26日 05:22/ 0 赞/ 338 阅读
相关 C语言:指针 今天研究了一下午终于把指针研究明白了 include<stdio.h> include<stdlib.h> int main() { 快来打我*/ 2022年03月25日 21:14/ 0 赞/ 349 阅读
相关 C语言-指针 1.指针和指针变量 > 内存区的每一个字节都有编号,这就是地址 > 如果在程序中定义了一个变量,在对程序进行编译和运行时,系统就会给这个变量分配内存单元,并确 àì夳堔傛蜴生んèń/ 2022年01月26日 11:17/ 0 赞/ 403 阅读
相关 C语言指针 变量的地址 我们已经知道,内存变量简称变量,在C语言中,每定义一个变量,系统就会给变量分配一块内存,而内存是有地址的。如果把计算机的内存区域比喻成一个 小咪咪/ 2021年11月10日 23:06/ 0 赞/ 508 阅读
还没有评论,来说两句吧...