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(" ");
// }
//数组第三种定义方式:(注意:定义二维数组时,可以省略行数,但是一定不能省略列数。元素个数不⾜,会⾃动补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;
}
- 上一篇: Yii2片段缓存详解
- 下一篇: yii2.0缓存篇之片段缓存