C語言基礎-字串(一)起源、定義、賦值
阿新 • • 發佈:2021-01-09
起源
字串或串(String)是由數字、字母、下劃線組成的一串字元。
字串在儲存上類似字元陣列,所以它每一位的單個元素都是可以提取的,如s=“abcdefghij”,則s[1]=“b”,s[9]=“j”,這可以給我們提供很多方便,如高精度運算時每一位都可以轉化為數字存入陣列。
字串就是字元陣列
Note:
%c:字元 %s:字串
char用於C或C++中定義字元型變數,只佔一個位元組,取值範圍為 -128 ~ +127(-27~27-1)
定義、賦值(四種方式)
前三種方式
//第一種方式
char str1[3]={'a','b','c'};
for (i=0;i<3;i++){
printf("%c",str1[i]);
}
printf("第一種方式\n");
//第二種方式
char str2[3]="abc";
for(i=0;i<3;i++){
printf("%c",str2[i]);
}
printf("第二種方式\n");
//第三種方式
char str3[]="abc";
for(i=0;i<3;i++){
printf ("%c",str3[i]);
}
printf("第三種方式\n");
前三種方式原理類似,都是通過陣列來實現,第三種為標明陣列大小的方式與第一、二種略有不同。
char str1[3]={'a','b','c'};
char str2[3]="abc";
char str3[]="abc";
printf("str1[3]的大小是%d",sizeof(str1));
printf("str2[3]的大小是%d",sizeof(str2));
printf ("str3[]的大小是%d",sizeof(str13));
原因:源於字串在記憶體中的儲存方式。除了有效字元以外,字串str3[],括號內不寫值,表示陣列的大小會根據初始化時元素的個數來確定,在字串的結尾處,系統==預設會填上一個**’ \0 '**==作為字串結束的標誌。
第四種
第四種通過指標來實現,這種也是我們平時專案中用的最多的一種。
//第四種方式
char *str4="abc";
printf("%s第四種方式,\n",str4);