关于c语言指针数组的引用问题

我学指针时,记得一般的数据引用前面必须加上内容引用符*但是字符串指针数组却可以不加*而直接引用,比如:main(){char*ps;ps="CLanguage";prin... 我学指针时,记得一般的数据引用前面必须加上内容引用符 *
但是字符串指针数组却可以不加 *而直接引用,比如:
main(){
char *ps;
ps="C Language";
printf("%s",ps);
}
望高手解答下为什么printf函数中能直接用ps而不用*ps
展开
 我来答
m1c2f4843
2010-08-02 · TA获得超过221个赞
知道小有建树答主
回答量:372
采纳率:0%
帮助的人:201万
展开全部
printf 函数中有%s 字符串输出是要有一个首地址和以'\0'结尾
指针就是地址 所以用ps
而*ps是指针所指的内容 即该地址中的内容 因为ps是指向"C Language"
即该字符串的首地址 所以*ps 为字符'C'
所以用printf("%c", *ps);就可以用了;
不知道讲清楚了没
luopeng0404
2010-08-02 · TA获得超过120个赞
知道答主
回答量:123
采纳率:0%
帮助的人:0
展开全部
首先定义 char* a[10];表示有10个字符串 每个字符串长度可变
然后可以值 a[i]表示第i个字符串 可以把它当成string类似的用
如果你想选定某个字符串的某个字符 可以用*(a[1]+2)表示输出第二个字符串的第三个字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
义昀欣ek
2010-08-02 · TA获得超过3298个赞
知道小有建树答主
回答量:6776
采纳率:0%
帮助的人:2170万
展开全部
ps指的是字符串的开始地址,*ps指的是并非是那个字符串而仅仅是开头字符C。

这里直接使用ps的一个主要原因是,printf函数期望的是一个字符串的首地址,它能够应付,给它*ps反而不对了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式