char *name[]与char name[]的区别是

wzz80 2009-05-10 11:43:17
这位高手我是一个C++初学者,有一个小问题:char *name[]与char name[]的区别是?
...全文
761 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangangs 2009-05-11
  • 打赏
  • 举报
回复
分别是指针数组和数组,好好看看书吧
liao05050075 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wzz80 的回复:]
char *name[]={"wang","li","zhang","liu"};
上面的能这样赋值吗?如果能是什么意思呢?
[/Quote]

当然可以了。char *name[]是指针数组,每个元素指向一个字符串。

它的意思就是,
name[0]指向“wang”,puts(name[0])输出wang
name[1]指向"li"
…………
你自己试一下就知了。
llsen 2009-05-11
  • 打赏
  • 举报
回复
第一个是指针数组
第二个是数组
nuoshueihe 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wzz80 的回复:]
char *name[]={"wang","li","zhang","liu"};
上面的能这样赋值吗?如果能是什么意思呢?
[/Quote]
char *name[]是一个指针数组
代表name[0]=“wang”;
name[1]=“li”;
...
lsupper 2009-05-11
  • 打赏
  • 举报
回复
char *name[]中的每个数据元素都是指针(char指针)
char name【】中的每个数据元素都是char
taoyanxu1989 2009-05-11
  • 打赏
  • 举报
回复
char *name[]是指针数组,每个元素指向一个字符串。
lingyin55 2009-05-11
  • 打赏
  • 举报
回复
恩,应该是可以没错,我试了一下,可能是我的概念搞的有点混乱了。
char*name[10];我觉得这个是个指针数组,即每个元素都是一个指针,
指向的是一个字符。但是想象char*name;name是可以指向一个字符串的,
所以这里应该也是一样,只不过是字符串的一个集合。

[Quote=引用 10 楼 hikaliv 的回复:]
引用 7 楼 lingyin55 的回复:
不可以,数组的元素只能是单个字符,这样的话取出来的值应该只是
字符串的首个字符。

引用 3 楼 wzz80 的回复:

char *name[]={"wang","li","zhang","liu"};
上面的能这样赋值吗?如果能是什么意思呢?



我怎么觉得,可以呢。一直这么用……
[/Quote]
yangch_nhcmo 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wzz80 的回复:]
char *name[]={"wang","li","zhang","liu"};
上面的能这样赋值吗?如果能是什么意思呢?
[/Quote]

可以赋值的,*name[]是一个字符指针数组;
ysysbaobei 2009-05-11
  • 打赏
  • 举报
回复
yijianxiangde100 2009-05-11
  • 打赏
  • 举报
回复
深刻
wanghao111 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wzz80 的回复:]
char *name[]={"wang","li","zhang","liu"};
上面的能这样赋值吗?如果能是什么意思呢?
[/Quote]
可以赋值
char *ch;ch="hello";
是一回事,只不过char *ch;是一个指针而char *name[]是指针数组罢了。
andy_5868 2009-05-11
  • 打赏
  • 举报
回复
一个是字符指针数组,一个是字符数组
pathuang68 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wzz80 的回复:]
char *name[]={"wang","li","zhang","liu"};
上面的能这样赋值吗?如果能是什么意思呢?
[/Quote]
尽管觉得可以,但还是用代码验证了一下,结论是:char *name[]={"wang","li","zhang","liu"}; 是可以的

事实上,我们在给main函数传参数的时候,不也是这样的么:
int main(int argc, char *argv[])

:)
  • 打赏
  • 举报
回复
指针和数组的区别。
elmnd 2009-05-11
  • 打赏
  • 举报
回复
*name == name[];
*name[] == name[][]
光宇广贞 2009-05-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lingyin55 的回复:]
不可以,数组的元素只能是单个字符,这样的话取出来的值应该只是
字符串的首个字符。

引用 3 楼 wzz80 的回复:

char *name[]={"wang","li","zhang","liu"};
上面的能这样赋值吗?如果能是什么意思呢?

[/Quote]

我怎么觉得,可以呢。一直这么用……
yuxiabo1984 2009-05-11
  • 打赏
  • 举报
回复
呵呵 顶一个
lingyin55 2009-05-10
  • 打赏
  • 举报
回复
参考这个
指针数组和数组指针

http://blog.csdn.net/bydxyj/archive/2008/02/20/2109886.aspx
lingyin55 2009-05-10
  • 打赏
  • 举报
回复
不可以,数组的元素只能是单个字符,这样的话取出来的值应该只是
字符串的首个字符。

[Quote=引用 3 楼 wzz80 的回复:]
char *name[]={"wang","li","zhang","liu"};
上面的能这样赋值吗?如果能是什么意思呢?
[/Quote]
  • 打赏
  • 举报
回复
加载更多回复(5)

65,123

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧