回覆列表
  • 1 # 不會游泳的驢

    1、單字元賦值,可透過陣列下標方式或指標方式,引用陣列元素,進行賦值。


    例子:


    char a[10];


    char ch='a';


    for( i=0;i<10;i++ )


    a[i]=ch+i ; //可透過陣列下標引用陣列元素,完成賦值


    char *p;


    for( p=a; p<a+10; p++ )


    *p=ch++; //透過指標對陣列相應元素賦


    2、字串賦值,可使用string.h標頭檔案中的字串操作函式進行賦值。


    例子:


    char a[10];


    strcpy( a, "abcdefgh");


    sprintf(a, "%s", "abcdefgh");


    擴充套件資料:

    C語言給字元陣列賦值的優點:


    1、簡潔緊湊、靈活方便


    C語言一共只有32個關鍵字,9種控制語句,程式書寫形式自由,區分大小寫。把高階語言的基本結構和語句與低階語言的實用性結合起來。C 語言可以像組合語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。


    2、運運算元豐富


    C語言的運運算元包含的範圍很廣泛,共有34種運運算元。C語言把括號、賦值、強制型別轉換等都作為運運算元處理。從而使C語言的運算型別極其豐富,表示式型別多樣化。靈活使用各種運運算元可以實現在其它高階語言中難以實現的運算。

  • 2 # 使用者698932142283960

    注意初始化和賦值是不同的。{'a', 'b', 'c'} 這東西不是表示式,沒有型別,只能用來初始化陣列或結構體。而陣列可以隱式轉換成指向其首元素的指標右值,該值能初始化或複製給指標物件。另外 C 字串指的是以零值字元結尾的連續字元物件序列,並不是字元指標,只是可以透過字元指標處理字串。C 語言可以寫 char *p = (char[]){'a', 'b', 'c'}; 。也可以用在賦值裡。右邊的東西是複合字面量,是左值。生存期為當前塊(函式內部)或整個程式執行期(函式外部)。這段宣告的作用是建立一個無名陣列,再由它隱式轉換出來的指標值初始化指標物件 p ,和題目上的寫法相比少聲明瞭一個識別符號。

  • 3 # 使用者4217359337261783

    a="cool";這是地址賦值,將一個常量字串的首地址賦值給a這個指標。*a="cool";這是字元賦值,不是字串!雖然a叫字串指標,但char* a這樣的定義,*a必然是一個字元,而不是多個。因此後面的常量會被忽略為一個字元,進行數值賦值(也可以理解為複製賦值,區別於地址賦值)。在a沒有分配地址的情況下,直接 *a=“xxx” 會造成記憶體報錯,而a=則不會。

  • 中秋節和大豐收的關聯?
  • 吃烏龜肉如何去吃腥味?