C语言数组(1)
C语言数组(一)一维数组定义C语言允许把一个二维数组分解为多个一维数组来处理。因此数组a可分解为三个一维
C语言数组(一)
一维数组定义
C语言允许把一个二维数组分解为多个一维数组来处理。因此数组a可分解为三个一维数组,即a[0],a[1],a[2]。每一个一维数组又含有四个元素。

a是二维数组名,a代表整个二维数组的首地址,也是二维数组0行的首地址,等于1000。a+1代表第一行的首地址,等于1008。

a[0]是第一个一维数组的数组名和首地址,因此也为1000。&a[0][0]是二维数组a的0行0列元素首地址,同样是1000。因此,a,a[0],&a[0][0]是相等的。
a[1]是第二个一维数组的数组名和首地址,因此也为1008。&a[1][0]是二维数组a的1行0列元素地址,也是1008。因此a+1,a[1],&a[1][0]是等同的。
此外,&a[i]和a[i]也是等同的,在二维数组中不能把&a[i]理解为元素a[i]的地址,因为元素a[i]是不存在的。C语言规定,它是一种地址计算方法,表示数组a第i行首地址。
由此,我们得出:a[i],&a[i],a+i, &a[i][0]也都是等同的。
另外,a[0]也可以看成是a[0]+0,是一维数组a[0]的0号元素的首地址,而a[0]+1则是a[0]的1号元素首地址,由此可得出a[i]+j则是一维数组a[i]的j号元素首地址,它等于&a[i][j]。
#include<stdio.h>#include<string.h>main(){char arr1[10] ;//必须指定长度,若超过数组长度则弹出报错窗口char arr2[10];char arr3[10];printf("请输入字符串数组1:");gets(arr1);strcpy(arr2, arr1);puts(arr1);puts(arr2);printf("%s\n", strcpy(arr3, "China"));/**请输入字符串数组1:hellohellohelloChina*/}
(e).strcmp(字符串1, 字符串2)
字符串比较,字符串1 == 字符串2返回0; 字符串1 > 字符串2返回正整数;字符串1 < 字符串2返回负整数
(f).strlen(字符数组)
测试字符数组或字符串常量的长度
(g).strlwr(字符串)
将字符串大写字母转换成小写字母
(h).strupr(字符串).
将字符串小写字母转换成大写字母
<<To Be Continued>>