关于C语言指针与字符串数组的问题

Roro_Zou 2009-07-28 08:40:30
char *str[10];

像上述申明,请问到底是申明一个字符串长度为10有若干个元素的数组,还是有10个元素,字符串长度为若干个的数组?
...全文
132 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
slund 2009-07-28
  • 打赏
  • 举报
回复
字符指针数组。
paulpeath 2009-07-28
  • 打赏
  • 举报
回复
1楼表述正确。
char *str[10];
首先,是一数组,数组大小是存放10个元素,存放内容是字符指针;
其次,所有指针的大小都都是一样的,就是int*,char*,double*,void* ,都是占一个sizeof(char*)的空间。再次,对于地址所代表内容的不定的。比如:char *str[10]中str[0]具体代表多长的字符串,需要看在该地址存放的字符串有多长。系统通过查找0结尾确定串长度的。而int、double的大小是看编译器分配的,在同一系统下是固定的。
可以慢慢琢磨。
kiuyongfa218 2009-07-28
  • 打赏
  • 举报
回复
这就是指针数组,楼上讲的都对。
晨星 2009-07-28
  • 打赏
  • 举报
回复
10个元素的数组,数组的每个元素的类型都是char*。
但char指针所指向的不一定是字符串,有"\0"结尾的字符序列才是字符串。
flyoxs 2009-07-28
  • 打赏
  • 举报
回复
按楼主的话说,应该是:有10个元素(指针),字符串长度为若干个的数组。

char *str[10]; // 定义10个字符指针,每个指针可指向一个字符串,如:

str[0] = "打死小Ri本";
str[1] = "Hello world!";
// ...
akira88 2009-07-28
  • 打赏
  • 举报
回复
10个元素的字符指针数组

33,320

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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