#include <iostream>
using namespace std;
int main()
{
//1.指针得定义
int a = 10; //定义整型变量a
//指针定义语法: 数据类型 * 变量名
int* p;
//指针变量赋值
p = &a; //指针指向变量a得地址(0xxff)
//int * p = &a;
cout << &a << endl; //打印指针数据a得地址
cout << p << endl; //打印指针变量p,也就是打印a得地址0xxff
//指针得使用
//通过 * 操作指针变量指向得内存
//指针p前加 * 代表解引用,找到指针指向得内存中得数据
//也可以通过 *p 指针直接给 指向得内存赋值
*p = 1000;
cout << "a = " << a << endl;
cout << "* p = " << *p << endl;
//指针所占内存空间字节数、不管什么数据类型都是4个字节
cout << "sizeof(int *) = " << sizeof(int*) << endl;
cout << "sizeof(float *) = " << sizeof(float*) << endl;
cout << "sizeof(double *) = " << sizeof(double*) << endl;
cout << "sizeof(char *) = " << sizeof(char*) << endl;
//空指针,不可以访问
int* p = NULL;
// cout << *p << endl; 不可以访问
//野指针,指针指向非法不存在无权限操作的未申请的内存空间
int* p = (int*)0x1100; //随意指向
system("pause");
return 0;
}