首页 > 其他 > 详细

指针是重点啊啊啊啊

时间:2020-04-09 16:01:04      阅读:83      评论:0      收藏:0      [点我收藏+]
 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 void swap(int*p1,int*p2)
 6 {
 7     int temp=*p1;
 8     *p1=*p2;
 9     *p2=temp;
10     cout<<"函数内x: "<<*p1<<endl;
11     cout<<"函数内y: "<<*p2<<endl;
12 }
13 
14 int main()
15 {
16     //创建变量a
17     int a=10;
18     //创建指针p
19     int* p;
20     //p指向a
21     p=&a;//也可以直接:int* p=&a;
22     //访问指针
23     cout<<p<<endl;
24     //访问指针所指的变量
25     cout<<*p<<endl;//"*"代表解引用
26     *p=1000;//解引用也可用于修改所指变量的值
27     cout<<"a="<<a<<endl;
28     cout<<"a="<<*p<<endl;
29     //空指针
30     int* o=NULL;
31     //空指针不可访问和解引用(高危)
32     //cout<<*o<<endl;
33     //*o=100;
34     //野指针(是一个错误)
35     int* i=(int*)0x1100;
36     //cout<<*i<<endl;
37     //总结:空指针和野指针都不是我们申请的空间,所以不要访问
38 
39     //常量指针
40     //常量指针可以改变所指变量,不可以修改所指变量的值
41     int b=20;
42     const int* j=&b;
43     //*j=200;-----错误
44     j=&a;
45     cout<<*j<<endl;
46     //指针常量
47     //指针常量可以修改所指变量的值,不可以改变所指变量
48     int* const k=&b;
49     *k=200;
50     //k=&a;-------错误
51     cout<<*k<<endl;
52     //既不可修改所指变量的值,又不可改变所指变量
53     const int* const l=&b;
54     //*l=2000;----错误
55     //l=&a;-------错误
56     cout<<*l<<endl;
57     system("cls");
58 
59     //使用指针遍历数组
60     int arr[10]={1,2,3,4,5,6,7,8,9,10};
61     int*p1=arr;
62     cout<<*p1<<endl;
63 
64     for(int i=0;i<10;i++)
65     {
66         cout<<*p1<<endl;
67         p1++;
68     }
69     //使用指针进行函数地址传递
70     int x=10;
71     int y=20;
72     swap(&x,&y);
73     cout<<"函数外x: "<<x<<endl;
74     cout<<"函数外y: "<<y<<endl;
75     return 0;
76 }

 

指针是重点啊啊啊啊

原文:https://www.cnblogs.com/ManagerYue/p/12667194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!