眾所周知,C語(yǔ)言中沒(méi)有數(shù)據(jù)類型能夠存儲(chǔ)字符串,char數(shù)據(jù)類型僅僅能夠存儲(chǔ)一個(gè)字符的數(shù)據(jù),那么在C語(yǔ)言中關(guān)于存儲(chǔ)字符串這一難題我們改何去何從呢?
下面將詳述相關(guān)的字符串存儲(chǔ)方法;
1、使用字符數(shù)組存;
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" ; //定義一個(gè)字符數(shù)組,并初始化; char *cPoint; //定義一個(gè)指針; cPoint = name; //將指針指向數(shù)組; printf ( "%s\n" ,name); //使用指向數(shù)組的指針打印字符數(shù)組中的字符串; printf ( "%c\n" ,name[4]); //打印出字符數(shù)組的第5個(gè)字符,即u字符同上打印字符數(shù)組的第5個(gè)字符,但是使用的方法是指針的位偏移; printf ( "%c\n" ,*(cPoint+4)); //作用 } |
2、使用字符指針存儲(chǔ)字符串;
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); } |
總結(jié):從上面2中C語(yǔ)言中的字符串存儲(chǔ)的方法可以看出,使用字符數(shù)組可以打印字符串中的某個(gè)字符。但是字符指針卻不可以。
3、可以把字符串a(chǎn)賦值給字符串b,但請(qǐng)注意字符串都是以\0結(jié)尾的;
字符指針變量指向格式字符串
char *format = "a = %d";
可以使用printf直接輸出;
指針數(shù)組中每一個(gè)元素都是一個(gè)指針;其指向不同的區(qū)域,
指針相減得到 是相差的個(gè)數(shù),而不是字節(jié)數(shù);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://www.cnblogs.com/ruiy/p/strings.html