几种指针用法的详解
2012-04-13 20:43
197 查看
/************************************************* * *内容: 几种指针用法的详解 * *作者: huazai * *************************************************/ #include <iostream.h> #define PRIN_LINE cout << "*******************************\n" #define COUT_STR(str) cout << str << endl void Show (void); void main() { /************************************************* *内容:指针数组 * *含义:创建了一个数组,这个数组用来保存指针。 *************************************************/ int i, j; int n1[3] = {1, 2, 3}; int n2[4] = {4, 5, 6}; int * p[2]; // 声明一个包含2个 int型指针的数组 p[0] = n1; p[1] = n2; PRIN_LINE; COUT_STR ("[指针数组]:\n"); for (i=0; i<2; i++) { for (j=0; j<3; j++) { cout << p[i][j] << "\t"; } cout << endl; } PRIN_LINE; /************************************************* *内容:指向多维数组的指针(数组指针) * *含义:一个指向多维数组的指针,该指针自加1代表指向下一行 *************************************************/ int num[3][2] = {1,2,3,4,5,6}; int (*p2) [2]; // 只有一个指针 p2 = num; COUT_STR ("[指向多维数组的指针]:\n"); cout << p2[0][0] << "\t"; cout << p2[1][0] << "\t"; cout << p2[2][0] << endl; PRIN_LINE; /************************************************* *内容:指向一维数组的指针 * *含义:一个指向一维数组的指针 *************************************************/ int number[2] ={7, 8}; int * p3 = number; COUT_STR ("[指向一维数组的指针]:\n"); cout << p3[0] << "\t"; cout << p3[1] << endl; PRIN_LINE; /************************************************* *内容:指向函数的指针 * *含义:一个指向函数的指针 *************************************************/ COUT_STR ("[指向函数的指针]:\n"); void (*p4) (void); p4 = Show; p4(); // 调用方式一 (*p4)(); // 调用方式二 PRIN_LINE; /************************************************* *内容:多级指针 * *含义:指向指针的指针,然后指针又指向别的指针 *************************************************/ COUT_STR("[多级指针]:\n"); int n = 9; int * pt1 = &n; int * * pt2 = &pt1; int * * * pt3 = &pt2; cout << "pt1:" << pt1 << ":" << *pt1 << endl; cout << "pt2:" << pt2 << ":" << *pt2 << ":" << **pt2 << endl; cout << "pt3:" << pt3 << ":" << *pt3 << ":" << **pt3 << ":" << ***pt3 << endl; PRIN_LINE; } void Show (void) { cout << "调用指向函数的指针.\n"; }
相关文章推荐
- c++ 智能指针用法详解
- c++ 智能指针用法详解
- 详解Oracle临时表的几种用法及意义
- C#中new的几种用法详解
- C++中this指针的用法详解
- 函数指针的几种用法
- 详解Oracle临时表的几种用法及意义
- C++中this指针的用法详解
- c++ 智能指针用法详解
- C++中this指针的用法详解
- C语言--指针用法详解
- 【转载】 C++中this指针的用法详解
- 详解Oracle临时表的几种用法及意义
- 详解Oracle临时表的几种用法及意义
- 详解location.href几种用法的区别【JS跳转】
- C++中this指针的用法详解
- C++中this指针的用法详解
- c语言常见的几种指针用法
- C语言中指针的几种用法
- C++中this指针的用法详解