char *ss[] = {"R12", "R99", "R19", "R12", "Rz9", "Ra9"};为什么数组可以没有长度?

dfczj 2007-05-10 02:08:27
char *ss[] = {"R12", "R99", "R19", "R12", "Rz9", "Ra9"};
为什么数组可以没有长度?是因为他在声明时就初始化了?
...全文
480 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcyuan01 2007-07-07
  • 打赏
  • 举报
回复
随初始化自定义长度
IT_liwen 2007-07-07
  • 打赏
  • 举报
回复
char *ss[] = {"R12", "R99", "R19", "R12", "Rz9", "Ra9"};
定义数组并直接初始化的时候可以不写长度。因为编译器会默认你直接输入的元素个数为数组的长度。
char *ss[100] = {"R12", "R99", "R19", "R12", "Rz9", "Ra9"};这样就是定义了一个100个元素的数组,但是你只初始化了前6个元素。
skyyby 2007-07-07
  • 打赏
  • 举报
回复
定义的时候赋值了,可以省略[]里面的
@肖凌 2007-07-06
  • 打赏
  • 举报
回复
字符指针
luhaimir 2007-07-05
  • 打赏
  • 举报
回复
在对全部数组元素赋初值时,可以不指定数组长度。系统就会默认数组长度为元素的个数。
sleepynow 2007-07-05
  • 打赏
  • 举报
回复
在定义时候初始化可以忽略长度
d3maxd3max 2007-06-30
  • 打赏
  • 举报
回复
初始化的元素个数就是数组的长度
  • 打赏
  • 举报
回复
路过!
cnyu 2007-06-30
  • 打赏
  • 举报
回复
http://www.anijh.cn/blog/?p=46
我啃 2007-06-30
  • 打赏
  • 举报
回复
编译器会自动给出大小
shager 2007-06-30
  • 打赏
  • 举报
回复
这个工作由编译器完成,初始化的一种方法
星羽 2007-06-28
  • 打赏
  • 举报
回复
char *ss[] = {"R12", "R99", "R19", "R12", "Rz9", "Ra9"};


长度就是你初始化元素的个数

编译器会把它理解成

char *ss[6] = {"R12", "R99", "R19", "R12", "Rz9", "Ra9"};
lvtaoatscu 2007-06-28
  • 打赏
  • 举报
回复
同意阿,它同时也是指针数组吧

熊学明 2007-06-27
  • 打赏
  • 举报
回复
默认,
初始化的元素个数就是数组的长度
computer_ant 2007-05-10
  • 打赏
  • 举报
回复
LZ正确的,因为定义时进行了初始化,所以把初始的值的个数作为数组的长度
lidongri 2007-05-10
  • 打赏
  • 举报
回复
类似与指针
只保存内存地址而已
jixingzhong 2007-05-10
  • 打赏
  • 举报
回复
默认,
初始化的元素个数就是数组的长度
richb 2007-05-10
  • 打赏
  • 举报
回复
char *ss[] = {"R12", "R99", "R19", "R12", "Rz9", "Ra9"};
这种写法是声明时初始化了,相当于ss[]数组的长度是6。

33,311

社区成员

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

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