国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

您好,歡迎進入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞頭條 >> C語言字符數(shù)組和字符串
新聞資訊
NEWS INFORMATION

C語言字符數(shù)組和字符串

發(fā)布時間:2019-05-22

用來存放字符的數(shù)組稱為字符數(shù)組,例如:

  1. char a[10]; //一維字符數(shù)組
  2. char b[5][10]; //二維字符數(shù)組
  3. char c[20]={'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a','m'}; // 給部分數(shù)組元素賦值
  4. char d[]={'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm' }; //對全體元素賦值時可以省去長度

字符數(shù)組實際上是一系列字符的集合,也就是字符串(String)。在C語言中,沒有專門的字符串變量,沒有string類型,通常就用一個字符數(shù)組來存放一個字符串。

C語言規(guī)定,可以將字符串直接賦值給字符數(shù)組,例如:

  1. char str[30] = {"c.biancheng.net"};
  2. char str[30] = "c.biancheng.net"; //這種形式更加簡潔,實際開發(fā)中常用

數(shù)組第0個元素為 'c',第1個元素為 '.',第2個元素為 'b',后面的元素以此類推。也可以不指定數(shù)組長度,例如:

  1. char str[] = {"c.biancheng.net"};
  2. char str[] = "c.biancheng.net"; //這種形式更加簡潔,實際開發(fā)中常用


在C語言中,字符串總是以'\0'作為串的結(jié)束符。上面的兩個字符串,編譯器已經(jīng)在末尾自動添加了'\0'。

'\0'是ASCII碼表中的第0個字符,用NUL表示,稱為空字符。該字符既不能顯示,也不是控制字符,輸出該字符不會有任何效果,它在C語言中僅作為字符串的結(jié)束標志。

puts 和 printf 在輸出字符串時會逐個掃描字符,直到遇見 '\0' 才結(jié)束輸出。請看下面的例子:

  1. #include <stdio.h>
  2. int main(){
  3. int i;
  4. char str1[30] = "http://c.biancheng.net";
  5. char str2[] = "C Language";
  6. char str3[30] = "You are a good\0 boy!";
  7. printf("str1: %s\n", str1);
  8. printf("str2: %s\n", str2);
  9. printf("str3: %s\n", str3);
  10. return 0;
  11. }

運行結(jié)果:
str1: http://c.biancheng.net
str2: C Language
str3: You are a good

str1 和 str2 很好理解,編譯器會在字符串最后自動添加 '\0',并且數(shù)組足夠大,所以會輸出整個字符串。對于 str3,由于字符串中間存在 '\0',printf() 掃描到這里就認為字符串結(jié)束了,所以不會輸出后面的內(nèi)容。

需要注意的是,用字符串給字符數(shù)組賦值時由于要添加結(jié)束符 '\0',數(shù)組的長度要比字符串的長度(字符串長度不包括 '\0')大1。例如:

char str[] = "C program";

該數(shù)組在內(nèi)存中的實際存放情況為:

字符串長度為 9,數(shù)組長度為 10。

聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08