iOS開發學習之C語言---C11 二維陣列、字串陣列、多維陣列
// 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("\n");
// }
//陣列第三種定義方式:(注意:定義二維陣列時,可以省略行數,但是一定不能省略列數。元素個數不⾜,會⾃動補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
//列印
for (int i = 0; i < 2; i++) {
for (int j = 0 ; j < 3; j ++) {
printf("%d",array[i][j]);
}
printf("\n");
}
//列印結果: 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("\n");
}
#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\n",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("\n");
// }
//陣列第三種定義方式:(注意:定義二維陣列時,可以省略行數,但是一定不能省略列數。元素個數不⾜,會⾃動補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("\n");
}
//列印結果: 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("\n");
}
#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\n",arr1[i]);
}
#pragma mark 三維陣列
//三維陣列
//2層,3行,4列
// int arr[2][3][4] = {0};
//右左法則
return 0;
}