1. 程式人生 > >字串 字元陣列 字串陣列 const

字串 字元陣列 字串陣列 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"字串常量  將其首地址賦給

s2

           sizeof(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’賦值