1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| #include<bits/stdc++.h> using namespace std;
int main() { int a=10; int *p; //定义指针 p=&a; //让指针记录变量a的地址 等于是取a的地址赋给p //使用指针 *p=1000; //非定义时*表示解引用 找到指针指向的内存的数据 cout<<"*p="<<*p<<endl; cout<<"a="<<a<<endl; //此时均改为了1000 //空指针 用于给指针变量进行初始化 不可以访问 int *p1=NULL; //野指针 指针变量指向非法空间 必须避免 int *p2=(int *)0x1100; //常量指针 const修饰指针 指针指向的值不可以改 const int *p2=&a; //指针常量 const跟在常量前 修饰常量 指针指向不可以改 int * const p3=&a; //均不可以改 const int * const p4=&a; //指针与数组 int arr[10]={1,2,3,4,5,6,7,8,9,10} ; int *p3=arr; //arr就是数组首地址 p3++; //指针向后偏移四个字节 }
void swap1(int *p1,int *p2) //利用指针做函数参数可以修改实参的值 { int t=*p1; *p1=*p2; *p2=t; }
|