字串 字元陣列 字串陣列 const
字元陣列及大小
char s1[]={'h','e','l','l','o'};//字元陣列
sizeof(s1)=5B
字串陣列及大小
char s2[]={'h','e','l','l','o','\0'}; //字串(特殊的字元陣列)
char s3[]={"hello"} or char s3[]="hello"; //字串初始化方式
sizeof(s2)=6B sizeof(s3)=6B
字串常量
char *s2="hello"; //此處"hello"字串常量 將其首地址賦給
s2sizeof(s2)=8B
//s2[0]='M'; error!!! 常量 read only
字串常量只能讀 不能改變其中元素
字元陣列列印
printf("s2>>>>%s\n",s2);
%s列印字串:從首地址開始一次列印每個字元 直到'\0'
相當於以下程式碼實現:
//for(i=0;s[i];i++) for(i=0;s2[i]!='\0';i++) { putchar(s2[i]); }
const (只讀)宣告變數不同用法
int const value=100 or const int value=100;
value=1000; //錯誤:向只讀變數‘value’賦值
const int *ptr=&a or int const *ptr=&a; //通過該指標不可改變所指向的空間
*ptr=1000 ; //錯誤:向只讀位置‘*ptr’賦值
常用在傳遞函式引數 (函式引數不可改變) void showArray(const int *ar);
int *const tt=&a;//限定指標變數本身不可改變
tt=&b; //錯誤:向只讀變數‘tt’賦值