C语言指针与数组

看代码。char*a[]="sadhnp“"sadohn""asdj"随便打的,就是想问a[]这里面应该是几?这个数组的每一个元素,是不是都相当于字符数组啊?例如char... 看代码。
char *a[]=
"sadhnp“
"sadohn"
"asdj"
随便打的,就是想问a[]这里面应该是几?这个数组的每一个元素,是不是都相当于字符数组啊?例如char *a[0]=sadhnp char *a=sadhnp 这俩个是不是等价啊?
或者可以把char*a[]当做一个2为数组啊?而a[i]就表示每个字符串的首地址。可以这么理解吗?别整高科技- -
展开
 我来答
sun_siliang
2012-01-05 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4703万
展开全部
#include<stdio.h>
void main()
{
char *a[]={"sadhnp","sadohn","asdj"};//[]内省略了3,这个表示将三个字符串首地址存放在指针数组中。
printf("%s\n",a[0]);//输出第一个字符串"sadhnp".
printf("%c\n",*a[0]);//输出第一个字符串"sadhnp"的第一个字符's'.
printf("%s\n",*a);//输出第一个字符串"sadhnp".
}
金正武001
2012-01-05 · 超过19用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:17.3万
展开全部
楼主的想法不错,是这样的,但在表达上有些问题应该是char *a[]={"sadhnp","sadohn","asdj"};及char *a[0]=“sadhnp”和char *a=“sadhnp”
追问
谢谢啦。虽说都懂了,但毕竟二楼来的早,so。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花为火遮人C
2012-01-05 · TA获得超过4233个赞
知道小有建树答主
回答量:5013
采纳率:0%
帮助的人:1458万
展开全部
1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。
2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。
3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深远且恬静的小百花
2012-01-05 · TA获得超过376个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:223万
展开全部
2楼正解
追问
thank you very much^.^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式