文章目录
1.指针的概述
指针的作用:可以间接访问内存地址。可以利用指针变量保存地址。
内存地址的编号:地址是十六进制组成,所以内存地址编号中的数字或字母都是从0-F中选择的。
在十六进制中,是不能出现16的,也就是字母G。
十六进制的一位数表示方式和范围:0,1,2,3,4,5,6,7,8,9
十六进制的两位数表示方式和范围:A=10, B=11, C=12, D=13, E=14 ,F=15
2.指针的定义和使用
指针变量定义的语法:数据类型 * 指针变量名;
指针变量记录变量地址的语法:指针变量=& 变量;
两种语法合体:数据类型 * 指针变量=& 变量;
#include<iostream>
using namespace std;
int main()
{
int a = 10;//定义一个整型变量a
//1.定义一个指针
int* p; //point是指针的意思,所以我用了首字母p
p = &a;//让指针p记录变量a的地址,用and符连接
cout << "指针p为:" << p << endl;//得出的结果是一个十六进制的数
//2.使用指针
//可以通过解决引用的方式来找到指针指向的内存,通过间接访问,可以完成读和写的操作
*p = 100;//指针前面加一个星号,叫做解引用,可以找到指针指向的内存中的数据
cout << "a=" << a << endl;
cout << "*p=" << *p << endl;
return 0;
}
int * p;p=&a;也可以写成int *p=&a;
运行效果
3.用图形理解指针
指针变量名p与整型变量a建立关系,用图像理解
结论:指针也是一种数据类型,也占内存空间。
4.指针所占的内存空间
用sizeof()的方法来查询指针内存。
#include<iostream>
using namespace std;
int main()
{
int a = 10;
int* p = &a;//定义指针变量,再用指针变量记录变量a
cout << "int * p=" << p << endl; //得到的结果为十六进制
cout << "sizeof int * p=" << sizeof(p) << endl; //指针变量所占内存为4
cout << "浮点类型所占内存为" << sizeof