#include<iostream>usingnamespace std;intmain(){//1、定义指针int a =10;//指针定义的语法:数据类型 * 指针变量名int* p;//让指针记录变量a的地址
p =&a;
cout<<"a的地址:"<<&a<<endl;
cout<<"指针p维:"<<p<<endl;//2、使用指针//可以通过解引用的方式来找到指针指向的内存//指针前加*代表解引用,找到指针指向的内存中的数据*p =1000;
cout<<"a="<<a<<endl;
cout<<"*p="<<*p<<endl;//----------------------------------------------------------//空指针//1、空指针用于给指针变量进行初始化int* p =NULL;//2、空指针是不可以进行访问的//0~255之间的内存编号是系统占用的,不可以进行访问* p =100;//---------------------------------------------------------------//指针和数组//利用指针访问数组中的元素int arr [10]={1,2,3,4,5,6,7,8,9,10};int* p = arr;//arr就是数组的首地址
cout<<"利用访问第一个元素:"<<*p<<endl;
p++;
cout<<"利用指针访问第二个元素:"<<*p<<endl;int*p2 = arr;for(int i=0;i<10;i++){
cout<<*p2++<<endl;//p2++;}//---------------------------------------------------------return0;}
a的地址:0x7ffe3d066ad4
指针p维:0x7ffe3d066ad4
a=1000*p=1000
sandbox> exited with status 0/run.sh: line 12:13 Segmentation fault(core dumped)./a.out
sandbox> exited with status 0
利用访问第一个元素:1
利用指针访问第二个元素:212345678910
sandbox> exited with status 0