C++中指针的使用

本文详细介绍了C++中的指针,包括指针的基本概念,如指针作为内存地址,以及如何定义和使用指针。讨论了指针在内存中占用的空间,并区分了空指针和野指针的区别。此外,文章还讲解了const修饰指针的三种情况,以及指针在数组、函数中的应用,强调了指针在地址传递中的作用。
摘要由CSDN通过智能技术生成

目录

指针的基本概念

指针的定义及使用

指针所占内存空间

空指针和野指针

const修饰指针

指针和数组

指针与函数

指针、数组、函数


指针的基本概念

        指针实际上就是内存地址

        指针的作用:可以通过指针间接访问内存

        1内存编号是从0开始记录的,一般用十六进制数字表示

        可以利用指针变量保存地址

指针的定义及使用

        指针定义的语法:数据类型 * 变量名;

        例如:

        int a = 10;

        int *p;

        p=&a;

        等价于

        int a = 10;

        int *p=&a;

        解释:p存放的是a变量的地址,如下图:

        005ccd6f0f46f85aedd9540ee338c960.png

        指针的使用:

        例:        

    int a = 10;
	//指针定义的语法:数据类型 * 指针变量名
	int * p;

	//指针变量赋值
	p = &a;//指针指向变量a的地址
	cout << p << endl;//=a的地址

	//使用指针,可以通过解引用的方式来找到指针指向的内存
	//指针前加*代表解引用,找到指针指向的内存中的数据
	*p = 100;//通过*操作指针变量指向的内存
	cout << a << endl;//100

指针所占内存空间

        在32位系统下,指针是占4个字节空间大小,不管是什么数据类型

        在64位系统下,指针是占8个字节空间大小,不管是什么数据类型

空指针和野指针

        空指针:指针变量指向内存中编号为0的空间

        用途:初始化指针变量

        注意:空指针指向的内存是不可以访问的

        野指针:指针变量指向非法的内存空间

        在程序中,尽量避免出现野指针

        总结:空指针和野指针都不是我们申请的空间,因此不要访问

const修饰指针

        const修饰指针有三种情况:

  1. const修饰指针 ---常量指针
  2. const修饰常量 ---指针常量
  3. const即修饰指针,又修饰常量

        1 常量指针:const int *p=&a;

        特点:指针的指向可以修改,但是指针指向的值不能修改

        2 指针常量:int * const p=&a;

        特点:指针指向的值可以修改,但指针的指向不可以修改

        3 const int * const p=&a;

        特点:指针指向的值和指针的指向都不能修改

        技巧:看const右侧紧跟着的是指针还是常量,是指针就是常量指针,是常量就是指针常量

指针和数组

        作用:利用指针访问数组中元素

指针与函数

        作用:利用指针作函数参数,可以修改实参的值

        地址传递:

        如果是地址传递,可以修改实参的值

指针、数组、函数

        例:编写一个函数,利用冒泡排序,实现对整型数组的升序排序

        int arr[10]={4,3,6,9,1,2,10,8,7,5};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值