C和指针之二维字符串数组用指针数组、数组指针、二级指针打印
2017-11-12 19:50
232 查看
1、问题
二位字符串数组用指针数组、数组指针、二级指针打印
2、测试代码
#include <stdio.h> int main() { char value[4][5] = {"chen", "yu", "feng", "yy"}; char *p[5]; char (*p1)[5]; char **p2; //把二位数组的值赋给指针数组 for (int i = 0; i < 4; i++) { printf("value[%d] is %s\n", i, value[i]); p[i] = value[i]; } for (int i = 0; i < 4; i++) { printf("p[%d] value is %s\n", i, p[i]); } //把value赋给数组指针 p1 = value; for (int i = 0; i < 4; i++) { printf("value1 is %s\n", p1[i]); printf("value2 is %s\n", *(p1 + i)); } //把p赋值为二级指针 p2 = p; for (int i = 0; i < 4; i++) { printf("value3 is %s\n", *(p2 + i)); } return 0; }
3、运行结果
1111deMacBook-Pro:dabian a1111$ vim array.c 1111deMacBook-Pro:dabian a1111$ gcc -g array.c -o array 1111deMacBook-Pro:dabian a1111$ ./array value[0] is chen value[1] is yu value[2] is feng value[3] is yy p[0] value is chen p[1] value is yu p[2] value is feng p[3] value is yy value1 is chen value2 is chen value1 is yu value2 is yu value1 is feng value2 is feng value1 is yy value2 is yy value3 is chen value3 is yu value3 is feng value3 is yy
4、总结
二维数组名可以赋值给数组指针,有效值和二位数组名一样数组指针可以赋值给二级指针,有效性和数组名一样
相关文章推荐
- 一道二级C题引发的思考-- c++函数传递指针的本质 与 字符串指针与字符数组的区别
- 二维字符串数组指针的问题
- 黑马程序员——C语言之字符串指针与二维字符串数组
- char * 与 char [] 区别,char *[] 与 char[][]区别。字符串指针的数组与二维char数组区别。字符串常量赋予指针与字符数组区别。"字符串"等价于其首元素"字"的地址
- 二级联动;字符串转一维数组,一维数组转二维数,二维数组转DataSet
- C初始化字符串指针和二维字符数组
- 4-18-2-二级多级指针、指针与数组、多线程并行计算、多线程队列、字符串拷贝
- C语言学习8:malloc返回的void*类型指针不可以做更改,free双重释放,二维数组的初始化和打印,a和a[0]和a[0][0]的区别,数组指针(*p)[3],指针数组*a[10],动态内存分配版约瑟夫环,动态分配版去空格和逗号处理,二级指针与二维数组互用
- 关于数组指针,指针数组,双重数组,二维矩阵,字符串数组,双重字符指针的理解
- 指针、数组、二级指针、指针数组与字符串
- 【错误记录】二维数组初始化,以二级指针传递函数参数
- 指向数组的引用;指向数组的指针;指向类成员的指针;指向类数组成员的指针;二维字符串数组指针
- C/C++学习之C提高-----非空格的字符串长度、去掉字符串前后空格、字符串反转、键值对字符串、const练习、二级指针做输入/输出的特性、将字符串按逗号分开,并放入二维数组打印出来
- 指针、数组、二级指针、指针数组与字符串
- 指针数组,数组指针,指针函数,函数指针,二级指针详解
- 利用二维int型数组表达一个矩阵,创建该数组并将其元素打印输出
- 字符串指针与字符数组的区别
- 字符串赋值给指针与数组的区别
- C语言提高-28讲: 字符串、字符数组、字符指针
- 关于字符串常量指针和字符串数组的区别