復合的數據類型
int * p[10]:數組指針
int (*p)[10]:指針變量指向int[10]的數組
int * * p:指向指針的指針
字符串:
1.初始化字符串:
1)char s[] ={‘2’,’1’,’\0’}
2)char s[3] ={‘2’,’1’,’\0’}
3)char s[3]=“ky”會自動增加\0
2.字符串輸出:
char s[] = “ky”
1)printf(“%s”,s):打印字符串時,從傳入的地址首地址開始,到\0
2)puts(s):從傳入的地址首地址開始,到\0.
3)puts(“ios”)
printf與puts的區別:
1)printf可以輸出多個字符串,puts只能輸出一個字符串
2)puts會自動換行,printf要手動換行
注意:字符串的結束標志是\0
3.字符串的輸入:
char s[20]
1)scanf(“%s”,s):一次性可以輸入多個字符串s是數組的首地址,不用&,輸入一個字符串,以回車結束,不能輸入空格,tab。
2)gets(s):一次性只能輸一個字符串。若字符串空間過大,會占用其他的內存。造成數據篡改。
4.字符串數組:
字符處理函數:在stdio.h
1)putchar
2)getchar
字符串處理函數:在string.h
1)strlen():測量字符串常量的字符長度,返回字符長度,不包括/0
strlen(“abc”);輸出3;
2)strcpy(char *,const char *):會把右邊的字符串內容復制到左邊
3)strcat(char *,const char *):會把右邊的字符串拼接到左邊的后面
4)strcmp(const char *,const char *):2個字符串從左到右面,直到不相同為止或\o為止。相同返回0,不相同則返回不相同的字符的“差”。
5)strstr(const char *,const char *):在字符串s1中尋找子串s2首次出現的位置。