C語言中字符串的存儲方法
眾所周知,C語言中沒有數(shù)據(jù)類型能夠存儲字符串,char數(shù)據(jù)類型僅僅能夠存儲一個字符的數(shù)據(jù),那么在C語言中關于存儲字符串這一難題我們改何去何從呢?
下面將詳述相關的字符串存儲方法;
1、使用字符數(shù)組存;
[root@Qrui ruiy]# #include<stdio.h> int main(int argc,const char *argv[],const char **env[]) { char name[] = "qinrui";//定義一個字符數(shù)組,并初始化; char *cPoint;//定義一個指針; cPoint = name; //將指針指向數(shù)組; printf("%s\n",name);//使用指向數(shù)組的指針打印字符數(shù)組中的字符串; printf("%c\n",name[4]);//打印出字符數(shù)組的第5個字符,即u字符同上打印字符數(shù)組的第5個字符,但是使用的方法是指針的位偏移; printf("%c\n",*(cPoint+4));//作用 }
2、使用字符指針存儲字符串;
#include<stdio.h> int main(int argc,const char *argv[],const char **env[]) { char *cPoint = "qinrui"; printf("%s\n",cPoint); }
總結(jié):從上面2中C語言中的字符串存儲的方法可以看出,使用字符數(shù)組可以打印字符串中的某個字符。但是字符指針卻不可以。
3、可以把字符串a(chǎn)賦值給字符串b,但請注意字符串都是以\0結(jié)尾的;
字符指針變量指向格式字符串
char *format = "a = %d";
可以使用printf直接輸出;
指針數(shù)組中每一個元素都是一個指針;其指向不同的區(qū)域,
指針相減得到 是相差的個數(shù),而不是字節(jié)數(shù);
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
對比分析C語言中的gcvt()和ecvt()以及fcvt()函數(shù)
這篇文章主要介紹了對比分析C語言中的gcvt和ecvt以及fcvt函數(shù),都是將數(shù)字轉(zhuǎn)化為字符串,注意其之間的功能區(qū)別,需要的朋友可以參考下2015-08-08