20150401日报
数组:
C语言中不写返回值就是int型返回值
C语言中,数组的大小不可改变
int scores[5];连续开了5个四字节的空间,数组的指针就是scores[0]的指针,其他的地址依次增加。
C语言中,是没有下标检查的,出现数组越界的时候,取到的数据是随机的数据。
全局数组和静态数组的初始值为0
而局部数组不初始化每个元素的值。
以下有几种数组的写法
1.int arr[];//错误,数组的长度不可知
2.int arr[]={1,2,3,4,5};//正确
3.int arr[5]={1,2,3};//正确,前面三个被初始化,后面的为0;??
4.int arr[3]={1,2,3,4,5};//最后面的两个被丢弃
5.int arr[5]={0};只给第一位赋值为零,后面的全部都是0.
字符串
1.char str[7]="Hello!";存储7位,自动在最后一位增加‘\0’;
2.char str[]="Hello!";
3.char str[7]={'H','e','l','l','o','!','\0'};
4.char str[]={'H','e','l','l','o','!','\0'};
关于char的函数库 string.h
gets,puts,getchar,putchar,printf,scanf
string.h函数
1. Strcpy(str1,str2)://把str2复制到str1
2. Strcat(str1,str2)://把str2连接到str1上
3. Strlen(str1)://获得str1的长度
4. Strcmp(str1,str2)://比较两个字符串的ascii值
关于ctype.h //关于字符类型
stdlib.h//字符与数字转换
控制字符串
sprintf(str1,format,str2);//格式化函数,把str2按照format格式化的结果存入str1.
sscanf(str,format,变量1,变量2...)//从str按照format扫描存入相应的变量中
二维数组
可以省略行数,不可省略列数。
二位数组作为参数列表中的参数时,传入数组列数不同也可以传入,但是会警告数组不匹配。