黑马程序员技术交流社区

标题: 二维字符指针该如何应用? [打印本页]

作者: zhudong100    时间: 2015-10-25 10:15
标题: 二维字符指针该如何应用?
  1. //二维字符指针的应用
  2. int main(int argc, const char * argv[]) {
  3.     char (*ch)[3] = {
  4.         {'a','b','\0'},
  5.         {'c','d','\0'},
  6.         {'e','f','\0'},
  7.     };
  8.     printf("%c\n",*(*(ch+1)+1));
  9.     return 0;
  10. }
复制代码

上面的例子错误在哪里?该如何改正?
作者: 孙明海    时间: 2015-10-25 11:04
    char c[3][3]={         {'a','b','\0'},         {'c','d','\0'},         {'e','f','\0'},     };     char (*ch)[3] ={&c[0],&c[1],&c[2]};     printf("%c\n",*(*(ch+1)+1));我改成这样了 有一个warning  可以运行
作者: Brisingr    时间: 2015-10-25 11:17
二维数组指针不能这样初始化,你可以
char a[3][3] = {
        {'a','b','\0'},
        {'c','d','\0'},
        {'e','f','\0'},
    };
    char (*ch)[3]=a;
作者: zhanghaoran    时间: 2015-10-25 17:13
学习一下
作者: zhudong100    时间: 2015-10-26 10:28
Brisingr 发表于 2015-10-25 11:17
二维数组指针不能这样初始化,你可以
char a[3][3] = {
        {'a','b','\0'},

明白了,谢谢你!
作者: zhudong100    时间: 2015-10-26 10:33
孙明海 发表于 2015-10-25 11:04
char c[3][3]={         {'a','b','\0'},         {'c','d','\0'},         {'e','f','\0'},     };    ...

复习下指向二维数组指针的定义后,明白了。
作者: 529548466    时间: 2015-10-26 21:30
多看看 笔记...
作者: yuweiyuwei    时间: 2015-10-26 21:33
0 0看不懂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2