C语言数组

2016-10-23  本文已影响21人  有个张狼叫小强

一维数组

数组定义格式与注意事项

1.格式  数组类型 数组的名字[长度] = { 值1,值2,值3,......};  值是常量

2.数组里存放的应为同一类型的数据,访问数组用下标的形式访问,数组的下标是从0开始的

3.数组必须不能越界

4.数组的长度必须指定,要么直接指定长度,如果不直接给定长度,就必须在数组定义的时候进行赋值,这时候数组的个数为几,长度就为几

5.数组名代表数组首元素的地址

定义一个数组  

第一种定义方式

int array[5]={};    //数组的长度位5,初值未给定,默认为0

printf("array1= %d,array2 = %d,array3 = %d\n",array[0],array[1],array[2]);

//结果:array1= 0,array2 = 0,array3 = 0

第二种定义方式

  []中不写长度  其数组的长度由初始值来决定

int array2[] = {1,2,30000000,'c'};    //字符是特殊的整形

printf("%d\n",array2[2]);  //结果:30000000

冒泡排序

int array8 [5]= {3,4,7,5,1};//升序

//外层循环代表走的趟数

for ( int i=1; i<5; i++)

{          //内层循环代表交换的次数

for (int j=1; j<=5-i; j++) {  

if (array8[j-1]>array8[j]) {

int temp =array8[j-1];

array8[j-1] = array8[j];

array8[j]=temp;

}

}

}

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

printf("%d\t",array8[i]);

}

//结果:1 3 4 5 7

字符数组

字符数组用来存放字符

char name[5]= {'a','b','c','d','e'};

printf("%s\n",name);  //结果:abcde�

printf("%lu\n",strlen(str));//结果:6

//strlen 计算字符数组长度 遇到\0就结束

//字符串拷贝

char str1 [100] = "xiaoqiang ";

char str2 [ ]= "ma chao hong";

strcpy(str1,str2);      //str1 空间一定要 >= str2

printf("%s\n",str1);  //str1 =ma chao hong

//字符串拼接

strcat(str1, str2);    //str1 空间一定要 》=str2 + str1

printf("%s\n",str1); //str1 =ma chao hongma chao hong

//字符串比较

int res = strcmp(str1, str2);

printf("%d\n",res); //res =109  C语言中m的ascll编码是109

上一篇 下一篇

猜你喜欢

热点阅读