黑马程序员技术交流社区

标题: 字符串数组为什么要用* words[4] ? [打印本页]

作者: cui0wei0    时间: 2015-5-11 00:31
标题: 字符串数组为什么要用* words[4] ?
  1. #import <Foundation/Foundation.h>
  2. int main(int argc, const char * argv[])
  3. {
  4.         const char *words[4] = { "aardvark", "abacus", "allude", "zygote" };
  5.         int Count = 4;       
  6.         for (int i = 0; i < Count; i++)
  7.                 NSLog (@"%s is %lu characters long", words[i], strlen(words[i]));
  8.     return 0;
  9. }
复制代码

字符串就是数组, 定义字符串数组还要用到指针, 有时候又用二维数组. 真是晕啊!
作者: wangzhewjl    时间: 2015-5-11 09:31
兄弟你研究的好深啊,又是指针,又是数组,不如直接二维数组好理解啊 ,这样好晕!
作者: 15578797612    时间: 2015-5-11 13:10
有时间一维数组是不够用的
作者: 仰望的繁华    时间: 2015-5-11 13:11
本帖最后由 仰望的繁华 于 2015-5-11 13:13 编辑

类型 [个数]
char[5],5个char类型元素组成的数组。
* words[4],4个 * words 类型元素组成的数组,每一个 * words 类型都是一个指针,都能用来表示一个字符串。
所以,就是4个字符串组成的数组,即 字符串数组。
作者: 飞翔的猪    时间: 2015-5-11 14:29
这样其实就是定义了四个 char *words  每个*words代表了一个字符串,你也可以这样定义插入 char a[4][10],只不过这样定义赋值太麻烦,char *words[4] ,使用的时候更好使用。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2