A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© stone24 中级黑马   /  2014-3-21 09:53  /  1030 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 stone24 于 2014-3-24 20:46 编辑

char  *name[10] ={ "jack" , "tony" , "kimi"} //这样定义的原理是???
//char  *name[10][]={ "jack" , "tony" , "kimi"} 可以这样吗
//或者这样行吗  char  *name[10][10]={ "jack" , "tony" , "kimi"}

3 个回复

倒序浏览
本帖最后由 lixiangzhou 于 2014-3-21 10:56 编辑

char  *name[10] ={ "jack" , "tony" , "kimi"} ,这是错误的,这里是个char数组,不能存放字符串数组,只能存放字符数组,如 :char *name = {'j', 'a', 'c', 'k'};
char  *name[10][]={ "jack" , "tony" , "kimi"}  ,这也是错误的,二维数组的第二维,也就是列数必须要给出一个确定的值,如:char  *name[][10]={ "jack" , "tony" , "kimi"};

char  *name[10][10]={ "jack" , "tony" , "kimi"}是正确的,表示的是字符串数组

回复 使用道具 举报
char  *name[10][10]={ "jack" , "tony" , "kimi"}  这个正确,其他不对。char  *name[10]="rose";这样的方式才对的!
回复 使用道具 举报
//char  *name[10] ={ "jack" , "tony" , "kimi"}
char name[3][10] = { "jack" , "tony" , "kimi"};
char *p = name;
//指向name字符串的指针,存储的是首字符的地址,和多少字符数无关。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马