自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理
探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制
Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南
讲给Android程序员看的前端系列教程(图文版)
讲给Android程序员看的前端系列教程(视频版)
Android程序员C语言自学完备手册
版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
字符串数组概述
在上一节当中,我们说:字符串最适合存储于字符数组中。例如:
char str[4]=“ABC”;
既然用一维字符数组存储字符串,那么顺着这个思路就可以利用二维字符数组存储字符串数组。
请看如下示例:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char cs[][6]={"Turbo","NA","DOHC"};
for(i=0;i<3;i++){
printf("cs[%d]=%s\n",i,cs[i]);
}
return 0;
}
结果如下:
cs[0]=Turbo
cs[1]=NA
cs[2]=DOHC
在该实例中用二维字符数组存储由字符串组成的数组cs。数组cs是3行6列的二维数组,元素类型为char[6]型,元素个数为3;其中,cs[0]表示“Turbo”,cs[1]表示“NA”,cs[2]表示“DOHC”;所以,在代码第9行使用cs[i]取出各字符串。请参见下图:
数组声明中初始值不足时,用0来初始化该元素;因此,各个字符串后面的空白部分都初始化为null字符。在该二维数组中各元素的位置由两个下标共同决定。例如:‘T’为cs[0][0]、'C’为cs[2][3]。
字符串数组的初始化及其遍历
在该实例中利用键盘输入初始化字符串数组并将其遍历打印,代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char cs[3][20];
for(i=0;i<3;i++){
printf("cs[%d]=",i);
scanf("%s",cs[i]);
}
puts("变量结果如下:");
for(i=0;i<3;i++){
printf("cs[%d]=%s\n",i,cs[i]);
}
return 0;
}
结果如下:
cs[0]=zhangsan
cs[1]=lisi
cs[2]=wangwu
变量结果如下:
cs[0]=zhangsan
cs[1]=lisi
cs[2]=wangwu
利用scanf( )或者printf( )函数为数组元素赋值或者取出某个元素的值时均采用cs[i]而不是&cs[i]
字符串数组的参数传递
在函数之间传递字符串数组时通常需要两个参数:
- 第一个参数:字符串数组
- 第二个参数:字符串数组的长度
在此利用函数实现字符串数组的遍历,代码如下:
#include <stdio.h>
#include <stdlib.h>
//遍历字符串数组的方式一
void traversalString1(const char strArray[][6],int len){
int i;
for(i=0;i<len;i++){
int j=0;
printf("s[%d]=\"",i);
while(strArray[i][j]){
putchar(strArray[i][j++]);
}
puts("\"");
}
}
//遍历字符串数组的方式二
void traversalString2(const char strArray[][6],int len){
int i;
for(i=0;i<len;i++){
printf("s[%d]=%s\n",i,strArray[i]);
}
}
int main()
{
char strArray[][6]={"Turbo","NA","DOHC"};
traversalString1(strArray,3);
return 0;
}