指针

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

#include<iostream>
using namespace std;
int main() {
	//定义指针
	int a = 10;
	//指针定义的语法:数据类型*指针变量名;
	int* p;
	//指针记录变量a的地址;
	p = &a;
	cout << "a的地址为:" << &a << endl;
	cout << "指针p为:" << p << endl;
	//2,使用指针
	//可以通过解引用的方式找到指针指向的内存
	//指针前面加*代表解引用,找到指针指向内存中的数据
	*p = 1000;//可以对原数据进行修改和读取
	cout << "a=" << a << endl;
	cout << "*p=" << *p << endl;
	system("pause");
	return 0;
}

2.指针所占用的内存空间

#include<iostream>
using namespace std;
int main() {
 //指针所占用的内存空间
	int a = 10;
	int* p = &a;
	cout << "sizeof(int*)=" << sizeof(int*) << endl;
	cout << "sizeof(float*)=" << sizeof(float*) << endl;
	cout << "sizeof(double*)=" << sizeof(double*) << endl;
	cout << "sizeof(char*)=" << sizeof(char*) << endl;
	//在32位操作系统下,指针是占4个字节空间的大小,不管什么数据类型
	//在64位操作系统下,指针是占8个字节空间的大小.
	system("pause");
	return 0;
}

 3.空指针和野指针

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

用途:初始换指针变量

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

#include<iostream>
using namespace std;
int main() {
    //空指针
	//1.给指针变量进行初始化
	int* p = NULL;

	//2.空指针是不可以访问的
	//0-255之间的内存编号是系统占用的,因此不可以访问
	*p = 100;
	cout << *p;//无法输出,会报错
	system("pause");
	return 0;
}

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

#include<iostream>
using namespace std;
int main() {
	//指针变量p指向内存地址编号为0x1100的空间
	int* p = (int*)0x1100;
	//访问野指针报错
	cout << *p << endl;
	system("pause");
	return 0;
}

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaohuango

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值