黑马程序员技术交流社区

标题: C语言--数组与字符串 [打印本页]

作者: Jack-xie    时间: 2014-10-17 09:15
标题: C语言--数组与字符串
1)数组:
一、 定义和初始化
注意点:
1、 int a[ ];  //错误,定义时不能不指定元素个数  int a[5]; // 正确
2、 int ages[5] = {19,29,44,89.32}; // 正确,定义的同时进行初始化
      int ages[5];
      ages = {19,29,44,89.32};  // 错误,整体初始化只能在定义的同时进行。
      ages[0] = 19;        ages[1] = 29; ....... // 只能逐个初始化成员

二、 内存中的存储
数组在内存中存储为一段连续的内存空间,数组元素在这段空间中的存储是由小到大的。
数组名和数组第一个元素的地址,就是数组的地址。

三、 数组与函数
1、 在用数组名传递地址时,形参复制了实参的地址,所以函数操作的和实参是同一个数组,能够修改原数组元素的值。
2、 把数字名传递到函数中,其实是传递了一个数组指针。所以如果函数需要知道数组大小,还应传递给函数这个数组中的元素个数。

四、遍历数组:按顺序查看数组的每一个元素:
        for (int i = 0; i<5; i++)
        {
                printf("ages[i] = %d\n", i ,ages[i] );  
        }

2)字符串
字符串通常以""表示,用到""时会自动在后面加\0字符。
我们是用字符数组来存储字符串的。

一、 初始化
常用方法:
char name[5] = "Jack";
char name[ ] = "Jack";  //可以不指定数组个数
字符串都是字符数组,但不是所有的字符数组都是字符串。

二、 内存中的存储
因为字符串本身就是一个数组,所以它和数组存储基本一样。
字符串的最后都是以\0字符结束,如果一个字符数组不是以\0结束,或者中间有\0字符,是会影响运算结果的。

三、 strlen函数
此函数用来计算字符串长度,是在<string.h>中声明的。(不包括\0)
计算的是字符数,不是字数。(一个汉字占三个字符)

四、 字符串数组
用来存放多个字符串。
格式:char name[2][10] = {"Jack","Julia"}; // 表示这个字符串可以存储2个字符串,每个字符串最大长度为10

作者: 陈刘科    时间: 2015-5-4 17:06
今天刚看到这一章。。




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