眾所周知,C語言中沒有數據類型能夠存儲字符串,
char數據類型僅僅能夠存儲一個字符的數據,那么在C語言中關於存儲字符串這一難題我們改何去何從呢?
下面將詳述相關的字符串存儲方法;
1,使用字符數組存;
1 [root@Qrui ruiy]# 2 #include<stdio.h> 3 int main(int argc,const char *argv[],const char **env[]) { 4 5 char name[] = "qinrui";//定義一個字符數組,並初始化; 6 char *cPoint;//定義一個指針; 7 cPoint = name; //將指針指向數組; 8 9 printf("%s\n",name);//使用指向數組的指針打印字符數組中的字符串; 10 printf("%c\n",name[4]);//打印出字符數組的第5個字符,即u字符同上打印字符數組的第5個字符,但是使用的方法是指針的位偏移; 11 printf("%c\n",*(cPoint+4));//作用 12 }
2,使用字符指針存儲字符串;
1 #include<stdio.h> 2 int main(int argc,const char *argv[],const char **env[]) { 3 char *cPoint = "qinrui"; 4 printf("%s\n",cPoint); 5 }
總結;從上面2中C語言中的字符串存儲的方法可以看出,
使用字符數組可以打印字符串中的某個字符,但是字符指針卻不可以,
3,可以把字符串a賦值給字符串b,但請注意字符串都是以\0結尾的;
字符指針變量指向格式字符串
char *format = "a = %d";
可以使用printf直接輸出;
指針數組中每一個元素都是一個指針;其指向不同的區域,
指針相減得到 是相差的個數,而不是字節數;
