C++:指针的基本知识

说到指针,想必是一个让很多学编程的人头疼的问题,不少人一直搞不明白.

下面是我对指针的一些认识和了解(如果有不对的地方,欢迎向我提出).

一.指针的基本意义

指针实际上就是一个变量,但它是用于存储它所指向的变量的地址的

注:在不同操作系统下指针变量所占空间大小是不同的

32位系统占4个字节

64位系统占8个字节

指针的定义:

数据类型 * 指针变量名 = &变量名;

举一个指针变量例子

int num = 1024;      //一个普通整型变量,赋值为1024
int * ptr_num = #//一个指针变量,指向num

 第二句话定义了一个int类型的指针,注意这里有一个取地址符,所以"="右边的值是类似于0x666ff8这样的16进制数,表示一个地址.

我们可以试着输出一下

可以看到确实输出了一个16进制数,那么怎么通过指针输出num的值呢?

其实只要在指针变量的前面加上一个小小的"*"(星号)就可以了.

cout << "num的值:" << *ptr_num << endl;

 

 小结:指针也是变量的一种,只是是用来存储地址的.

下面讲一下空指针野指针

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

int * ptr1 = 0;
int * ptr2 = ptrnull;
int * ptr3 = NUll;   //如果不使用万能头文件,就要包含cstdlib这个头文件

//这三条语句达到的效果都是一样的

这样做为了初始化指针变量,防止变为野指针

野指针:指变量指向非法的内存空间,即没有初始化的指针变量

int * ptr1;  //这是一个野指针

 建议初始化每一个指针变量,因为野指针是很危险的!

今天就先分享到这里,下次本蒟蒻给大家讲讲:指针与数组

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值