牛骨文教育服务平台(让学习变的简单)
博文笔记

iOS开发学习之C语言---C11 二维数组、字符串数组、多维数组

创建时间:2015-10-22 投稿人: 浏览次数:1001


//  main.m

//  C11 二维数组、字符串数组、多维数组

//

//  Created by xalo on 15/10/21.

//  Copyright (c) 2015年 Darling.com. All rights reserved.

//


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

#pragma mark 二维数组


    /*⼆维数组:有两个下标的数组。

     定义:类型 数组名[常量表达式1] [常量表达式2] = {值1,值2...};

     用普通的话来说,就是,二维数组的第一个[ ]表示行,第二个[ ]表示 列。

    */

    

    //定义二维数组 的 第一种方式(不直观,不能直接看出第一行是在哪里开始结束)

//    int array[2][3] = {1,2,3,4,5,6};

    

    //定义二维数组 的 第二种方式(直观)

    

    //花括号{},可以区分行{1,2,3}为一行,{4,5,6}为一行

//        int array[2][3] = {{1,2,3},{4,5,6}};

//    

//        for (int i = 0; i < 2; i++) {

//            for (int j = 0 ; j < 3; j ++) {

//                printf("%d",array[i][j]);

//            }

//            printf(" ");

//        }

    

    //数组第三种定义方式:(注意:定义二维数组时,可以省略行数,但是一定不能省略列数。元素个数不⾜,会⾃动补0。)

    // 第三种:可以省略行,但是一定不能省略列

//        int array[][] = {1,2,3,4,5,6};//报错

//        int array[][] = {{1,2,3},{4,5,6}};//错误的

//        int array[2][] = {1,2,3,4,5,6};//只给行,报错

    

        int array[][3] = {1,2,4,5,6};//只给列,正确

        //打印

        for (int i = 0; i < 2; i++) {

            for (int j = 0 ; j < 3; j ++) {

               printf("%d",array[i][j]);

            }

                printf(" ");

        }

        //打印结果: 124

        //           560 自动补0

        int array1[][3] = {{1,2},{3,4},{5,6}};

    

        for (int i = 0; i < 3; i++) {

            for (int j = 0 ; j < 3; j ++) {

                printf("%d",array1[i][j]);

            }

            printf(" ");

        }


    

#pragma mark 字符串数组

    /*字符串数组本质上是一个二维数组

     1、访问某个字符串:数组名[行号]

     2、访问某个字符:数组名[行号][列号]

     */

    //字符串数组

        char arr1[3][10] = {"iPhone","Android","Windows"};

    

    //    printf("%c",arr1[0][0]);//输出:i

    

    //    printf("%s",arr1[2]);//只给行号就行。

    

        for (int i = 0 ; i < 3; i++) {// 打印字符串数组时,直接在for里给出行数,就可以了。不用两个for。

            printf("%s ",arr1[i]);

        }

    

    

    

    

#pragma mark 三维数组

    //三维数组

    //2层,3行,4列

//    int arr[2][3][4] = {0};

    //右左法则

   

    

    

    

  

    

    return 0;

}


//

//  Created by xalo on 15/10/21.

//  Copyright (c) 2015年 Darling.com. All rights reserved.

//


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

#pragma mark 二维数组


    /*⼆维数组:有两个下标的数组。

     定义:类型 数组名[常量表达式1] [常量表达式2] = {值1,值2...};

     用普通的话来说,就是,二维数组的第一个[ ]表示行,第二个[ ]表示 列。

    */

    

    //定义二维数组 的 第一种方式(不直观,不能直接看出第一行是在哪里开始结束)

//    int array[2][3] = {1,2,3,4,5,6};

    

    //定义二维数组 的 第二种方式(直观)

    

    //花括号{},可以区分行{1,2,3}为一行,{4,5,6}为一行

//        int array[2][3] = {{1,2,3},{4,5,6}};

//    

//        for (int i = 0; i < 2; i++) {

//            for (int j = 0 ; j < 3; j ++) {

//                printf("%d",array[i][j]);

//            }

//            printf(" ");

//        }

    

    //数组第三种定义方式:(注意:定义二维数组时,可以省略行数,但是一定不能省略列数。元素个数不⾜,会⾃动补0。)

    // 第三种:可以省略行,但是一定不能省略列

//        int array[][] = {1,2,3,4,5,6};//报错

//        int array[][] = {{1,2,3},{4,5,6}};//错误的

//        int array[2][] = {1,2,3,4,5,6};//只给行,报错

    

        int array[][3] = {1,2,4,5,6};//只给列,正确

        //打印

        for (int i = 0; i < 2; i++) {

            for (int j = 0 ; j < 3; j ++) {

               printf("%d",array[i][j]);

            }

                printf(" ");

        }

        //打印结果: 124

        //           560 自动补0

        int array1[][3] = {{1,2},{3,4},{5,6}};

    

        for (int i = 0; i < 3; i++) {

            for (int j = 0 ; j < 3; j ++) {

                printf("%d",array1[i][j]);

            }

            printf(" ");

        }


    

#pragma mark 字符串数组

    /*字符串数组本质上是一个二维数组

     1、访问某个字符串:数组名[行号]

     2、访问某个字符:数组名[行号][列号]

     */

    //字符串数组

        char arr1[3][10] = {"iPhone","Android","Windows"};

    

    //    printf("%c",arr1[0][0]);//输出:i

    

    //    printf("%s",arr1[2]);//只给行号就行。

    

        for (int i = 0 ; i < 3; i++) {// 打印字符串数组时,直接在for里给出行数,就可以了。不用两个for。

            printf("%s ",arr1[i]);

        }

    

    

    

    

#pragma mark 三维数组

    //三维数组

    //2层,3行,4列

//    int arr[2][3][4] = {0};

    //右左法则

   

    

    

    

  

    

    return 0;

}


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。