7.指针
7.1指针的基本概念
指针就一个地址。
指针的作用:通过指针间接访问内存
注:内存编号是从0开始记录,一般用十六进制数字表示;
利用指针变量保存地址
7.2指针变量的定义和使用
指针变量定义语法:数据类型 * 变量名;
代码如下:
#include <iostream>
using namespace std;
// 7.1指针的定义和使用
int main()
{
// 1.定义一个指针: 数据类型 * 指针变量名;
int a = 10;
int * p; // 定义指针p即point
p = &a; // 让指针记录变量a的地址
cout << "a的地址为:" << &a << endl;
cout << "指针p为:" << p << endl;
// 2.使用指针
// 指针p的前面加个*,解引用的方式来找到指针指向的内存中的数据
*p = 1000;
cout << "a = " << a << endl;
cout << "*p = " << *p << endl;
system("pause");
return 0;
}
输出:
a的地址为:0000000B7871FA44
指针p为:0000000B7871FA44
a = 1000
*p = 1000
结果分析:
指针就是地址,
指针p <=> &a
解引用*p <=> a
7.3指针所占内存空间
32位:4字节bytes;64位:8字节bytes
测试代码:
#include <iostream>
using namespace std;
// 7.2指针所占内存空间
int main()
{
// 1.定义一个指针p
int a = 10;
int* p = &a;
cout << "size of (int *) = " << sizeof(p) << endl;
cout << "size of (int *) = " << sizeof(int*) << endl;
cout << "size of (float *) = " << sizeof(float*) << endl;
cout << "size of (double *) = " << sizeof(double*) << endl;
cout << "size of (char *) = " << sizeof(char*) << endl;
system("pause");
return 0;
}
x86输出:
X64输出: