4.12
数组
定义:
存储类型 数据类型 数组名[元素个数];
例:
int a[10];
char b[10];
数组元素是随机值
初始化:
定义是的同时赋值
例: 例:
int a[6]={2,3,2,3,5,7};
int a[6]={2,3,4};
int a[]={2,3,5,5};
int a[6]={0};
数组的使用:
数组名[元素下标]
下标从0开始,最大为n-1;
例:
int a[6]={2,3,2,3,5,7};
a[1] -- 3
只有在初始化时能对多个元素访问
int a[6];
a[6]={2,3,5,3,4,5};
a[0]=2;
a[1]=3;
a[2]=5;
数组的大小:
数组类型*元素个数
数组名代表数组的首地址,是地址常量不能做左值(++,--)
二维数组
二维数组冒泡泡排序:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i,j;
int a[3][5];
int (*p)[5]=a;
srand(time(NULL));
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
a[i][j]=rand()%100;
}
}
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
printf("%3d",a[i][j]);
}
puts(" ");
}
printf("*******************\n");
for(i=0;i<15;i++)
{
for(j=0;j<14-i;j++)
{
if(*(*p+j)>*(*p+j+1))
{
*(*p+j) ^= *(*p+j+1);
*(*p+j+1) ^= *(*p+j);
*(*p+j) ^= *(*p+j+1);
}
}
}
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
printf("%3d",a[i][j]);
}
puts(" ");
}
return 0;
}
定义:
存储类型 数据类型 数组名[行][列];
例:
int a[2][3];
初始化:
例:
int a[2][3]={2,3,5,3,5,7};
int a[2][3]={{2,3,4},{3,4,5}};
int a[2][3]={3,2,5,4};未完全初始化部分值为0
int a[2][3]={{3,2},{5,4}};
int a[][3]={2,23,5,67,3};
二维数组缺省初始化不能省列
访问:
数组名[行下标][列下标];
内存是线性的,二维数组在内存当中存储和一维数组一样
字符数组
字符:''
字符串:"",由一个或多个字符组成,结尾有'\0'
char a[6]={'a','b','c'};
char a[10]={"dascs"};
char a[10]="dadds";
字符串操作函数:
strlen strcat strcpy strcmp strstr