Presentation is loading. Please wait.

Presentation is loading. Please wait.

本节内容 指针数组与数组指针 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866.

Similar presentations


Presentation on theme: "本节内容 指针数组与数组指针 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866."— Presentation transcript:

1 本节内容 指针数组与数组指针 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:

2 char* arr[10]; //10 指针 (char*) Point* arr[10]; //10 指针 (Point*)
昆山爱达人信息技术有限公司 QQ: 1、指针数组的定义 char arr[10]; //10 char char* arr[10]; //10 指针 (char*) Point* arr[10]; //10 指针 (Point*) int*********** arr[10]; //10 指针(int***********)

3 <1> char* arr[2] = {a,b}; <2> char* arr[2]; arr[0] = a;
昆山爱达人信息技术有限公司 QQ: 2、指针数组的赋值 char* a = "Hello"; char* b = "编程达人"; <1> char* arr[2] = {a,b}; <2> char* arr[2]; arr[0] = a; arr[1] = b; <3> char* arr[2] = { "Hello", "编程达人" };

4 Point* arrPoint[10]; //4*10字节
昆山爱达人信息技术有限公司 QQ: 3、结构体指针数组 struct Point { int x; int y; }; Point p; //8字节 Point arr[10]; //8*10字节 Point* arrPoint[10]; //4*10字节

5 4、分析下面的代码: int arr[] = {1,2,3,4,5,6,7,8,9,0}; int* p = &arr[0];
昆山爱达人信息技术有限公司 QQ: 4、分析下面的代码: int arr[] = {1,2,3,4,5,6,7,8,9,0}; int* p = &arr[0]; int* p = arr; int* p = &arr; //什么情况?

6 int(*px)[2][2]; //二维数组指针 char(*px)[3][3][3]; //三维数组指针
昆山爱达人信息技术有限公司 QQ: 5、数组指针的定义 int(*px) [5]; //一维数组指针 char(*px) [3]; int(*px)[2][2]; //二维数组指针 char(*px)[3][3][3]; //三维数组指针 思考题: int *p[5] 与 int (*p)[5] 有什么区别?

7 int(*px3) [2][2]; //二维数组指针 char(*px4) [3][3][3]; //三纬数组指针
昆山爱达人信息技术有限公司 QQ: 6、数组指针的宽度与赋值 int(*px1) [5]; //一维数组指针 char(*px2) [3]; int(*px3) [2][2]; //二维数组指针 char(*px4) [3][3][3]; //三纬数组指针 printf("%d %d %d %d \n",sizeof(px1),sizeof(px2),sizeof(px3),sizeof(px4)); px1 = (int (*)[5])1; px2 = (char (*)[3])2; px3 = (int (*)[2][2])3; px4 = (char (*)[3][3][3])4;

8 int(*px3) [2][2]; //二维数组指针 char(*px4) [3][3][3]; //三纬数组指针
昆山爱达人信息技术有限公司 QQ: 7、数组指针的运算 int(*px1) [5]; //一维数组指针 char(*px2) [3]; int(*px3) [2][2]; //二维数组指针 char(*px4) [3][3][3]; //三纬数组指针 px1 = (int (*)[5])1; px2 = (char (*)[3])1; px3 = (int (*)[2][2])1; px4 = (char (*)[3][3][3])1; px1++;px2++;px3++;px4++; printf("%d %d %d %d \n",px1,px2,px3,px4);

9 printf("%d %d \n",(*px)[0],px[0][0]);
昆山爱达人信息技术有限公司 QQ: 8、数组指针的使用 int arr[] = {1,2,3,4,5,6,7,8,9,0}; int(*px)[10] = &arr; //*px 是什么类型? printf("%d %d \n",(*px)[0],px[0][0]);

10 printf("%d %d \n",(*px)[0],px[0][0]);
昆山爱达人信息技术有限公司 QQ: 9、数组指针的使用 int arr[3][3] = { {1,2,3}, {4,5,6}, {7,8,9} }; int(*px)[3] = &arr[0]; px++; printf("%d %d \n",(*px)[0],px[0][0]);

11 int(*px)[2][2] = (int (*)[2][2])arr; 思考题: 1、*px是什么类型?
昆山爱达人信息技术有限公司 QQ: 10、二维数组指针可以访问一维数组吗? int arr[] = {1,2,3,4,5,6,7,8,9,0}; int(*px)[2][2] = (int (*)[2][2])arr; 思考题: 1、*px是什么类型? 2、(*px)[1][1]的值是什么?px[0][1][1]的值是什么?

12 <汇编、C/C++线上班>学员可见
昆山爱达人信息技术有限公司 QQ: 课后练习: <汇编、C/C++线上班>学员可见


Download ppt "本节内容 指针数组与数组指针 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866."

Similar presentations


Ads by Google