039.Local Array 局部数组

来源:互联网 发布:淘宝如何把好评改差评 编辑:程序博客网 时间:2024/05/16 13:40
---------------  main.m  ---------------
#import <Foundation/Foundation.h>

int main()
{
    int len = 5;
    int arr[len]; // 指定数组arr的长度为len(用变量指定数组长度)

    char * arr1[] = {"ab", "cd"}; // 不交代数组长度,系统会推断数组长度为2
   
 NSLog(@"%s" , arr1[0]);
    arr1[0] = "AB"
    NSLog(@"%s" , arr1[0]);
  
    int arr2[5] = {2, 3, 40}; // 只指定前面3个元素,后两个元素的值是不可靠的
    for (int i = 0, length = sizeof(arr2) / sizeof(arr2[0]);
         i < length ; i ++)
    {
        NSLog(@"arr2[%d] : %d", i , arr2[i]);
    }

    NSString * arr3[4] = {@"张三", @"李四"};
    for (int i = 0, length = sizeof(arr3) / sizeof(arr3[0]);
         i < length ; i ++)
    {
        NSLog(@"arr3[%d] : %@", i , arr3[i]);
    }

    arr[0] = 42;
    arr[
1] = 341;
   
 NSLog(@"arr[0]:%d, arr[0]);
   
 NSLog(@"arr[1]:%d, arr[1]);
}

一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。

二、本节代码涉及到的知识点:
1.局部数组的length可以用变量、常量或者整数值来指定。
2.局部数组初始化之前,数组元素的值是不可靠的。
  也就是说,初始化之前,不应该访问局部数组元素的值。
  如果一定要访问,访问到的值也是0,null之类的无效值。
3.OC并没有提供一个方法来获取数组的长度,但我们可以通过公式计算
  sizeof(数组名称) / sizeof(数组名称[0])
4.访问或者修改数组内某个元素的值,是通过数组名称加[索引值]实现的。
0 0