复习一下整型数组,字符数组,整型指针数组,字符指针数组,整型数组指针,字符数组指针
Posted dhu121
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复习一下整型数组,字符数组,整型指针数组,字符指针数组,整型数组指针,字符数组指针相关的知识,希望对你有一定的参考价值。
复习一下整型数组,字符数组,整型指针数组,字符指针数组,整型数组指针,字符数组指针
20:52:01 2019-12-31
整型数组 int a[10];
字符数组 char b[10];
_______________________
整型指针数组 int *p[10]; |__|__|__|__|__|__|__|__|__| 每个格子里存的是一个指针,每个指针都是int类型的,会指向一个int的值.
1 for(int i=0; i<10; i++) 2 p[i] = &a[i]; //把a中的每个元素的地址都放在了指针数组p里. 3 4 for(int j=0; j<10; j++) 5 printf("%d ", *(p[i]));//把p中的地址转化为真实的内容,也就是使用*对地址取值.
字符指针数组 char *c[10]; 和上面一样,每个指针都是char类型的,会指向一个char
下面这两个是等式.表示左右两边的值是相等的
a == &a[0]
*a[i] == a
重点说说数组指针
整型数组指针 int (*P)[10]; p是一个指针,这个指针指向一个有10个格子的数组.这个10个格子里存的都是int类型的东西
int a[10]; int (*p)[10]; p = a; p = &a;
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() { 5 6 int a[10] = {1,2,3,4,5,6,7,8,9,10}; 7 int (*p)[10]; 8 p = &a; //这种写法才是正确 且没有错误的 9 //p = a; 这种写法会给警告.虽然我们知道数组的名字也可以被用作数组的首地址. 10 int i = 0; 11 for(i=0; i<10; i++) 12 printf("%d ", p[0][i]); //这里的p其实是指向一个二维数组的首地址,但是实际上指向的是一个一位数组,所以p[0][0]就是这个数组a的a[0]了. 13 //这里的p[0][i]就是遍历数组的第一行. 14 /* 15 上面的p = &a;这句话其实就是将p[0]指向了a[10] 所以p[0][i]只需要对i++即可操作a[i]了. 16 p[0]-> [p00][p01][p02][p03][p04][p05][p06][p07][p08][p09] 第1 行 17 p[1]-> [p10][...][...][...][...][...][...][...][...][...] 第2 行 18 p[2]-> [p20][...][...][...][...][...][...][...][...][...] 第3 行 19 p[3]-> [p30][...][...][...][...][...][...][...][...][...] 第4 行 20 p[4]-> [p40][...][...][...][...][...][...][...][...][...] 第5 行 21 p[5]-> [p50][...][...][...][...][...][...][...][...][...] 第6 行 22 p[6]-> [p60][...][...][...][...][...][...][...][...][...] 第7 行 23 p[7]-> [p70][...][...][...][...][...][...][...][...][...] 第8 行 24 p[8]-> [p80][...][...][...][...][...][...][...][...][...] 第9 行 25 p[9]-> [p90][...][...][...][...][...][...][...][...][p99] 第10行 26 经过上面这个表,就能够知道这个数组指针p是一个怎样的指针了. 数组指针p竟然是一个二维指针. 27 */ 28 29 return 0; 30 }
字符数组指针 char (*c)[5];
这句话中只有c这个符号是我们自己写的,其他的符号C编译器都认识.
所以我们来品品c是什么应该怎么读.
c是一个指针,这个指针指向一个 长度为5 的里面存着 字符 的数组
按照这样的读法,那么int (*p)[10];也很好读了
p是一个指针,这个指针指向一个 长度为10 的里面存着 整型数字 的数组
以上是关于复习一下整型数组,字符数组,整型指针数组,字符指针数组,整型数组指针,字符数组指针的主要内容,如果未能解决你的问题,请参考以下文章