@@ -0,0 +1,33 @@
+#include <iostream>
+
+//指针的作用:可以通过指针间接访问内存
+//内存编号是从0开始记录的,一般用十六进制数字表示
+//可以利用指针变量保存地址
+//指针就是一个地址
+int main1()
+{
+ //1、定义一个指针
+ int a = 10;
+ //定义指针的语法:数据类型 * 指针变量名
+ int * p;
+ //让指针记录变量a的地址
+ p = &a;
+ std::cout << "a的地址为:" << &a << std::endl;
+ std::cout << "指针p为:" << p << std::endl;
+ //2、如何使用一个指针
+ //可以通过解引用的方式来找到指针指向的内存
+ //指针前加一个*代表解引用,找到指针指向的内存中的数据
+ *p = 1000;
+ std::cout << "a = " << *p << std::endl;
+ std::cout << "*p = " << *p << std::endl;
+ system("pause");
+ return 0;
+}
@@ -0,0 +1,27 @@
+//指针也是种数据类型,那么这种数据类型占用多少内存
+//在32位操作系统下,指针占用4个字节内存空间
+//在64位操作系统下,指针占用8个字节内存空间
+int main2()
+ //指针所占的内存空间大小
+ //int* p;
+ //p = &a;
+ int * p = &a;
+ std::cout << "sizeof (int*) = " << sizeof(int *) << std::endl;
+ std::cout << "sizeof (int*) = " << sizeof(float *) << std::endl;
+ std::cout << "sizeof (int*) = " << sizeof(double *) << std::endl;
+ std::cout << "sizeof (int*) = " << sizeof(char *) << std::endl;
@@ -0,0 +1,26 @@
+//空指针:指针变量指向内存中编号为0的空间
+//用途:初始化指针变量
+//注意:空指针只想的内存是不可以访问的
+int main3()
+ //空指针
+ //1、空指针用于给指针变量进行初始化
+ int* p = NULL;
+ //2、空指针是不可以进行访问的
+ //0 ~ 255之间的内存编号是系统占用的,因此不可以访问
+ *p = 100;
@@ -0,0 +1,17 @@
+//野指针:指针变量指向非法的内存空间
+//总结:空指针和野指针都不是我们申请的空间,因此不要访问
+int main4()
+ //野指针
+ //在程序中避免出现野指针
+ int* p = (int *)0x1100;
+ std::cout << *p << std::endl;