找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2570|回复: 1

[通用编程] 二级指针与指针数组

[复制链接]
发表于 2007-9-5 23:37:08 | 显示全部楼层 |阅读模式
如
char *str[]={"abc d"};
char **p;
p=str;
为什么不能printf("%s",p);将其打印出来,只能通过for(i=0;i<5;i++) printf("%c",*(*p+i));[s:8]
发表于 2007-9-6 08:52:02 | 显示全部楼层
printf中的 %s要求輸入的是string格式,也就是一直提著的char* 格式,p是char**,一個要求char*,一個輸入char**,掛掉是必然
*(*p+i) 這個其實相當混亂
其意義跟*(p[0]+i),p[0]變成char*(輸入Index等同降級),char* + int ->char*(因為指標是long),再dereference變成char,和%c要求的char吻合
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|幻想森林

GMT+8, 2026-11-6 18:27 , Processed in 0.010526 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表