看官们,我们在前面章回中介绍了复合类型中的两种类型:结构体和枚举,本章回中继续介绍复合类型中的数组。
数组用来存放相同类型的变量,这些类型可以是基本类型,也可以也是复合类型。我们在OC中可以使用C语言中的数组,下面我们通过代码来演示:
#import<Foundation/Foundation.h>
int main() {
int array[3] = {3,5,7};
char name[] ="Jams";
for(int i=0; i<3; ++i)
NSLog(@"value:%i",array[i]);
NSLog(@"size of array: %lu",sizeof(array)/sizeof(array[0]));
NSLog(@"str:%s",name);
return 0;
}
编译并且运行上面的程序,可以得到以下运行结果:
2020-10-31 19:47:11.104 ex.out[1579:71945] value:3
2020-10-31 19:47:11.104 ex.out[1579:71945] value:5
2020-10-31 19:47:11.104 ex.out[1579:71945] value:7
2020-10-31 19:47:11.104 ex.out[1579:71945] size of array: 3
2020-10-31 19:47:11.104 ex.out[1579:71945] str:apple
在代码中,我们定义了一个名叫array的数组,数组中存放的是int类型的变量,数组的容量为3.我们以大括号的形式给数组进行了赋值操作,然后通过for循环输出数组中的变量值。大家可以看到循环中使用了固定的常量值来表示数组容量,这个是移植性比较差的代码,接下来的代码中,我们通过sizeof运算符计算出了数组的大小,这个是通用的做法。在实际编写代码的时候可以把它放到循环中,这样可以提高代码的可移植性。
在代码中我们还定义了一个名叫name的数组,数组中成员的类型为char类型,在实际代码中经常用这样的数组来存放一个字符串,大家可以把数组 名当作字符串名来使用,这也字符串的典型用法。
看官们,在IOS编程中,可以像刚才的代码一样使用C语言中的数组,毕竟OC兼容C,更多的时候,我们使用的是Foundation库提供的NSArray数组,该数组提供了面向对象的编程接口,极大地方便了我们对数组的操作。关于此数组的知识,我们会在后面章回中做介绍。
关于本章回中数组的知识我们做以下总结:
- 1.数组用来存放相同类型的变量;
- 2.数组的大小建议使用sizeof运算符去计算,这样可以提高代码的移植性,而且可以降低数组越界风险;
- 3.字符数组可以当作字符串来使用;
看官们,欲知后事如何且听下回分解!