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