第30課 C語言中的字符串

字符串的概念
·字符串是有序字符的集合
.字符串是程序中基本元素之一
.C語言中沒有字符串的概念
-C語言中經過特殊的字符數組模擬字符串
-C語言中的字符串是以'0'結尾的字符數組
在C語言中,雙引號引用的單個或多個字符是一種特殊的字面量
-存儲於程序的全局只讀存儲區
-本質爲字符數組,編譯器自動在結尾加上‘0’字符
`char ca[] = {'H','e','l','l','o'}; //字符
char sa[] = {'W','o','r','l','d','0'};//字符串
char ss[] = "Hello world"; // 字符串
char* str = "Hello world"; //
%s是輸出字符串
例子30-1:
`#include "stdio.h"
int main()
{數組

char ca[] = {'H','e','l','l','o'};    //字符
char sa[] = {'W','o','r','l','d','\0'};//字符串
char ss[] = "Hello world";  // 字符串
char* str = "Hello world";  //
printf("%s\n",ca);
printf("%s\n",sa);
printf("%s\n",ss);
printf("%s\n",str);
return 0;

}`
輸出結果:
Hello燙燙燙?孝//亂碼
World
Hello world
Hello world
解析:第一個輸出錯誤結果是由於%s輸出字符串,可是數組ca定義的是字符
-字符串字面量的本質是一個數組
-字符串字面量能夠看做常量指針
-字符串字面量中的字符不可改變
-字符串字面量至少包含一個字符函數

%c是單個字符輸出
例子30-2:指針

#include "stdio.h"
int main()
{
    char b = "abc"[0];
    char c = *("123" + 1);
    char t = *"";
    printf("%c\n",b);
    printf("%c\n",c);
    printf("%d\n",t);
    printf("%s\n","Hello");
    printf("%p\n","world");
}

輸出結果:
a
2
0
Hello
00907020
分析:「abc"是一個沒有名字的字符串數組,"abc"[0];爲第零個元素爲a
字符串的長度
·字符串的長度就是字符串所包含字符的個數
·字符串長度指的是第一個'0'字符前出現的字符個數
·經過'0'結束符來肯定字符串的長度
·函數strlen用於返回字符串的長度
小結:C語言中經過字符數組模擬字符串
·C語言中字符串使用'0'做爲結束符
·字符串字面量的本質爲字符數組
·字符串相關函數都依賴於結束符「0」code

`字符串

相關文章
相關標籤/搜索