扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
类型符 数组名[常量表达式];
常量
和符号常量
,不能包含变量,也就是说,C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。int a[3+5]; //合法
int n;
scanf("%d",&n);
int a[n]; //不合法
#includeint main(){int nums[10];
for(int i=0;i<10;i++){scanf("%d",&nums[i]);
}
return 0;
}
0 NULL '\0'
//1、定义数组时,对全部数组元素赋初值。
int a[10]={0,1,2,3,4,5,6,7,8,9};
//2、只给数组中部分元素赋值,系统自动给剩余元素赋初值为0.
int a[10]={0,1,2,3,4};
//3、在对数组赋初值时,由于数据个数已经确定,因此可以不指定数组长度。
int a[5]={1,2,3,4,5};
可以写成
int a[]={1,2,3,4,5};
二维数组数组名 [常量表达式][常量表达式];
int a[3][4];//行下标范围[0,2] 列下标范围[0,3];
a[3][4]=3;//错误,不存在a[3][4]元素
1、分行给二维数组赋初值
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
2、将数据都写在一个括号内,按数组元素在内存中的排列顺序对各元素赋初值
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
3、可以对部分元素赋初值
int a[3][4]={{1},{2},{3}};
等价于->int a[3][4]={{1,0,0,0},{2,0,0,0},{3,0,0,0}};
int a[3][4]={{1},{2},{}};
等价于->int a[3][4]={{1,0,0,0},{2,0,0,0},{0,0,0,0}};
4、如果对全部元素赋初值,则定义数组时对第一维长度可以不指定,但第二维长度必须指定。
int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
5、在定义时,也可以只对部分元素赋初值而省略第一维的长度,但应分行赋值。
int a[][4]={{0,0,3},{},{0,10}};//编译系统判断数组有3行4列
字符数组int c[10];
c[0]='a';//合法
char c[10]={'a','b','c'};//其余未初始化的元素值为空字符('\0')
int main(){char c[10]={'I',' ','a','m','a','g','i','r','l','!'};
for(int i=0;i<10;i++){printf("%c",c[i]);
}
printf("\n");
return 0;
}
字符串定义:在C
语言中,将字符串作为字符数组来处理,字符串中的字符是逐个存放在字符数组元素中的。
字符串结束标志:空字符'\0'
'\0'
作为结束标志。如果字符数组中存在若干字符,前面9个字符都不是空字符,而第10个字符是空字符,则认为数组中有一个字符串,其有效字符为9个。也就是说,在遇到空字符时,表示字符串结束,把它前面的字符组成一个字符串。"C program"
共有9个字符。字符串是存放在一维数组中的,在数组中它占10个字节,最后一个空字符是系统自动加上的。'\0'
,可以不包含空字符。初始化字符串
1、用字符串常量来初始化字符数组
char c[]={"I am happy!"};
char c[]="I am happy!";
等价于->char c[]={'I',' ','a','m','','h','a','p','p','y','\0'};
不等价于->char c[]={'I',' ','a','m','','h','a','p','p','y'};
%c
%s
char c[]={"China"};
scanf("%s",c);
printf("%s\n",c);//输出的字符串不包括空字符
//利用一个scanf函数输入多个字符串,则应在输入时以空格分隔,系统把空格字符作为输入的字符串之间的分隔符
char str1[4],str2[5],str3[6];
scanf("%s%s%s",str1,str2,str3);
输入数据:How are you?
#include
)puts
函数——输出字符串puts(字符数组名);
gets
函数——输入字符串,并且得到一个函数值,该函数值是字符数组的起始地址。gets(字符数组名);
puts
和gets
只能输出输入一个字符串char ch=getchar();
putchar(ch);
strcat
函数——字符串连接函数,结果放在字符数组1中,连接时,系统自动将字符数组1中的空字符取消,得到字符数组1的地址。strcat(字符数组1,字符数组2);
strcpy
函数——字符串复制函数,将字符串2复制到字符数组1中去。字符数组1必须是数组名形式,字符串2可以是数组名,也可以是字符串常量。strcpy(字符数组1,字符串2);
strncpy
函数——将字符串2前面的n个字符复制到字符数组1中去。strncpy(字符数组1,字符串2,n);
strcmp(字符串1,字符串2);
strlen
函数——测字符串长度的函数,函数值为字符串实际长度,不包含空字符。也可以直接测字符串常量的长度。strlen(字符数组);
strlwr(字符串);
strupr(字符串);
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流