1、基本類型為字符類型的數組稱為字符數組。字符數組是用來存放字符的。字符數組時C語言中常用的一種數組。字符數組中的每個元素都是一個字符,因此可用字符數組來存放不同長度的字符串。
字符數組的定義方法與一般數組相同,例如
char good[12]={'I',' ','l','o','v','e','y','o','u'.'\0'};
也可以定義成char good[]={“I love you!”};
這兩種定義方式的效果是一樣的。
或者寫成更簡潔的型式:char good[]=“I love you!”;
2、在C語言中字符串是作為字符數組來處理的。一個一維的字符數組可以存放一個字符串,這個字符串的長度應小于或等于字符數組的長度。為了測定字符串的實際長度,C語言規定以'\0'作為字符串結束標志,對字符串常量也自動加一個'\0'作為一個結束符。因此,字符數組int a[n]可以存儲的字符串最大長度為n-1,在訪問字符數組時,遇到'\0'就表示字符串結束,因此在定義字符數組時,應使數組長度大于它允許存放的最大字符串的長度。
對于字符數組的訪問可以通過數組中的元素逐個進行訪問,也可以對整個數組進行訪問。
3、本實例利用P0口顯示字符串常量,
將待顯示字符串常量賦給一個字符型數組,然后通過數組元素引用的方法一次將各元素送到P0口顯示。字符型數組中各字符數據在單片機中是以字符的ASCII碼存放的,如‘a’的ASCII碼為97.將‘a’送到p0口,就相當于把數據97送到P0口,所以P0口各LED會被相應點亮。
4、在keil c51中新建工程文件ex32,編寫如下程序代碼,編譯并生成ex32.hex文件
// 實例32:字符串數組演示實例
#include //包含頭文件
void delay(void) //延時函數
{
unsigned char i,j;
for(i = 0;i < 220;i++)
for(j = 0;j < 220;j++);
}
void main(void)
{
unsigned char str[]={"I love mcu!"}; // 定義字符串數組,并賦值
unsigned char i;
while(1)
{ //
i=0; // I初始化為0,從數組的第一個元素開始顯示
while(str!='\0') //判斷字符串數組有沒有顯示到結束標志
{
P0=str; // 將第I個字符送到P0口顯示
delay(); // 延時一會
i++; //指向下一個數組元素
}
}
}
[此貼子已經被作者于2010-11-3 10:31:58編輯過]
|