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掃描存入相應的變量中
二維數組
可以省略行數,不可省略列數。
二位數組作爲參數列表中的參數時,傳入數組列數不同也可以傳入,但是會警告數組不匹配。