C++之指针变量的定义和使用
从b站上黑马程序员的c++课里学到的C++之指针变量的定义和使用
指针变量的定义和使用
简单理解指针就是地址。
内存编号是从0开始记录的,一般用16进制数字表示
1 #include <iostream>
2 using namespace std;
3
4 int main()
5 {
6 int a = 10; //定义整型变量a
7
8 //1,指针的定义语法:数据类型 * 变量名;
9 int* p;
10
11 p = &a; //建立指针和变量的关系,让指针记录变量a的地址
12 cout << "a的地址为:" << &a << endl;
13 cout << "指针p为:" << p << endl;
14
15 //2,指针的使用
16 //可以通过解引用的方式来找到指针指向的内存
17 //指针前加 * 代表解引用,找到指针指向的内存中的数据
18 *p = 1000;
19 cout << "a = " << a << endl;
20 cout << "*p = " << *p << endl;
21
22 return 0;
23 }
运行结果显示:
指针所占的内存空间
在32位操作系统下:占用4个字节空间,64位下占用8个字节。
生成----配置管理器----平台,可以更改编译器的环境
1 #include <iostream>
2 using namespace std;
3
4 int main()
5 {
6 int a = 10;
7 int* p = &a;
8 cout << "sizeof (int *) = " << sizeof(p) << endl;
9 cout << "sizeof (int *) = " << sizeof(int *) << endl;
10 cout << "sizeof (float *) = " << sizeof(float *) << endl;
11 cout << "sizeof (double *) = " << sizeof(double *) << endl;
12 cout << "sizeof (char *) = " << sizeof(char *) << endl;
13
14 return 0;
15 }
运行结果显示:
熟记:在32位操作系统下,指针是占4个字节空间大小,不管是什么数据类型;在64位操作系统下,指针是占8个字节空间大小,不管是什么数据类型。
空指针和野指针
空指针:指针变量指向内存中编号为0的空间
用途:初始化指针变量
注意:空指针指向的内存是不可以访问的
野指针:指针变量指向非法的内存空间
在程序中。尽量避免出现野指针
总结:空指针和野指针都不是我们申请的空间,因此不要访问。
const 修饰指针
1,const修饰指针:常量指针,const int * p = &a;
特点:指针的指向可以修改,但是指针指向的值不可以改。指针的指向可以指向这个内存单元,也可以更改,指向另一个内存单元。指针指向的值是指针指向的内存单元里存放的数据不可以改。
2,const修饰常量:指针常量,int * const p = &a;
特点:指针的指向不可以改,指针指向的值可以改。
3,const既修饰指针,又修饰常量,const int * const p = &a;
本文作者:romantichuaner
本文链接:https://www.cnblogs.com/romantichuaner/p/17571645.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步