c:对指针数组、数组指针、char数组、char指针的探究
一、指针数组
1、指针数组: 指针的数组;指针数组是存储指针的数组。
2、指针数组的定义:
2.1、 TYPE *pointer_array[SIZE]
2.2、 " TYPE "是数据类型;" SIZE "是一个正整数。
2.3、 涵义:pointer_array存储"SIZE"个指针,“SIZE”个指针是"TYPE类型的指针"。
3、int *int_pta[10]:int_pta是存储10个指针的数组,这10个指针的是“int类型的指针”。
4、代码示例:
二、数组指针:
1、数组指针: 数组的指针;数组指针是指向数组的指针。
2、数组指针的定义:
2.1、 TYPE (*pointer_array)[SIZE]
2.2、 " TYPE "是数据类型;" SIZE "是一个正整数。
2.3、 " pointer_array "是指向"SIZE"个元素的数组的指针;pointer_array通常指向二维数组array2,这个二位数组通常定义为" array2[][SIZE] "。
2.4、 步进: 即”pointer_array + 1“ 要一次性跨越" SIZE "个数组元素。" pointer_array + 1":通常指向”下一行“元素。
2.5、 指向”一维“数组的指针:
2.5.1、定义数组: type array1[SIZE1]
2.5.2、定义数组指针:type *pt1=array1;
2.6、 指向”二维“数组的指针:
2.5.1、定义数组: type array2[SIZE2][SIZE1]
2.5.2、定义数组指针:type *pt2[SIZE1]=array2;
2.7、 指向”三维“数组的指针:
2.5.1、定义数组: type array3[SIZE3][SIZE2][SIZE1]
2.5.2、定义数组指针:type *pt3[SIZE2][SIZE1]=array3;
2.7、 指向”n维“数组的指针:
2.5.1、定义数组: type arrayN[SIZEN]...[SIZE3][SIZE2][SIZE1]
2.5.2、定义数组指针:type *ptN[SIZE(N-1)]...[SIZE2][SIZE1]=arrayN;
3、代码示例:
三、char数组:
1、char数组定义:
1.1、char string[10]:定义了存储10个“char”的数组;" char string[] "存储一个“字符串”。
1.2、char *pts[10]:定义了10个指针,这些指针指向“char数组(字符串)”;" pts[10] "存储10个“字符串”;
2、char数组:它是真正存储“字符串”的位置。
3、char数组名:
3.1、数组名表示数组在内存中的首地址。
3.2、数组名代表地址常量。数组名不是变量;所以数组名所代表的地址不能被改变,数组名不能被赋值内存地址。
4、代码示例:
四、char 指针
1、char指针的定义
1.1、char *pt: pt指向"char数组"的指针;即 pt指向“字符串”。
1.2、char *str[10](指针数组): str指向10个“字符串”的数组。
1.3、char **pts: pts指向存储“字符串”的数组;pts可以操作“字符串”。
2、char指针:指针仅仅是存储地址的变量。
3、代码示例
五、代码
标签:10,定义,char,数组,指针,SIZE From: https://www.cnblogs.com/lnlidawei/p/17009351.html