指针(pointer)的使用
Posted hehesunshine
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针(pointer)的使用相关的知识,希望对你有一定的参考价值。
1、变量的指针和指针的变量
变量的指针:变量的存储地址,
指针变量:存储指针的变量
2、指针变量的基本符号
&:取地址符号
*:间接取址符号
NULL||0:初始化
**:多级指针
*p[]:指针数组
3、程序实例(自己 尝试写类函数,一直不懂啥时候才定义变量位为private
1 //*m:定义指针变量 &m:取m的地址 *&m:间接访问 m的内容 2 //&和 *互为逆运算 3 4 #include <iostream> 5 #include<stdlib.h> 6 using namespace std; 7 /*void main(){ 8 int *x, *y; 9 int m, n; 10 cout << "请输入m和n" << endl; 11 cin >> m >> n ; 12 x = &m; 13 y = &n; 14 cout << *x << " " << *y << endl; 15 int *temp; 16 temp = x; 17 x = y; 18 y = temp; 19 cout << *x << " " << *y << endl; 20 21 }*/ 22 class pointer{ 23 public: 24 void _cinvlauemn(); 25 void _cinvaluea(); 26 void _swappointer(); 27 void _pointerarray(); 28 private: 29 int m, n; 30 int a[5]; 31 };//一定要记得输入分号 32 void pointer::_cinvlauemn(){ 33 cout << "请输入m和n" << endl; 34 cin >> m >> n; 35 } 36 void pointer::_cinvaluea(){ 37 cout << "请输入数组值: " << endl; 38 for (int i = 0; i < sizeof(a) / sizeof(int); i++){ 39 cin >> a[i]; 40 } 41 } 42 void pointer::_swappointer(){ 43 int *x=NULL, *y=0;//初始化 44 x = &m; 45 y = &n; 46 cout << *x << " " << *y << endl; 47 int *temp; 48 temp = x; 49 x = y; 50 y = temp; 51 cout << *x << " " << *y << endl; 52 } 53 void pointer::_pointerarray(){ 54 int *p[5]; 55 for (int i = 0; i < 5; i++){ 56 p[i] = &a[i]; 57 } 58 int **pp; 59 pp = p;//把指针数组p的首地址给pp 60 for (int i = 0; i < 5; i++){ 61 cout << **pp << " "; 62 pp++; 63 } 64 } 65 void main(){ 66 pointer function; 67 function._cinvlauemn(); 68 function._cinvaluea(); 69 function._swappointer(); 70 function._pointerarray(); 71 }
4、运行结果
以上是关于指针(pointer)的使用的主要内容,如果未能解决你的问题,请参考以下文章