C++指针


前言

文章参考B站黑马程序员课程添加链接描述

一、指针是什么?

1、定义指针

int a =10;
int*p = &a;

2、使用指针

指针前加*代表解引用,找到指针指向内存中的数据

*p=1000;

二、指针常见用法

1、指针所占内存空间

指针也是数据类型,这种数据类型所占空间为多少呢?
32位系统占4个字节,64位系统占8个字节

sizeof(int*)
sizeof(p)

2、空指针

空指针:指针变量指向内存中编号为零的空间
用途:初始化指针变量
注意:空指针指向的内存是不可访问的;0-255的内存编号是系统占用的,所以不可访问

int*p =NULL

3、野指针

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

int*p = (int*)0x1100

4、const修饰指针

1、const修饰指针:常量指针

const int*p = &a

特点:指针的指向可以修改,但是指针指向的值不可以修改
2、指针常量

int * const p = &a

特点:指针的指向不可以修改,但是指针指向的值可以修改
3、const修饰指针也修饰常量

const int * const p = &a

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

5 、指针和数组

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

int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int*p = arr;      //arr就是数组首地址

6、指针和函数

作用:利用指针作函数参数,可以修改实参的值
如果地址传递可以修饰实参
在这里插入图片描述

7、结构体指针

作用:通过指针访问结构体中的成员
利用操作符->可以通过结构体指针访问结构体成员

struct student
{
string name;
int age;
};
int main()
struct student stu = {"张三",18};
struct student*p = &stu;
p->age = 20;

在这里插入图片描述

总结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值