回覆列表
  • 1 # 使用者774056550451

    C語言中可以給指標變數賦值常數。1、申請了空間(在常量區),存放了字串2、在字串尾加上了"/0"3、返回地址,這裡就是返回的地址賦值給了p字串常量"hello"出現在一個表示式中時,"hello"表示式使用的值就是這些字元所儲存的地址(在常量區),而不是這些字元本身。所以,可以把字串賦值給指向字元的指標p,而不能把字串賦值給一個字元陣列。chara[10]=“hello”;//這樣可以,這種情況是c語言初始化所支援的,如果寫成chara[10],然後a=“hello”這樣就錯誤了。同樣是a陣列,chara[10]=“hello”;這種是陣列的初始化,和a[0]=‘h’a[1]=‘e’,是一個道理。換成chara[10],然後a=“hello”就不行了“hello”賦值的值是一個地址,而a雖然也有地址,但是這與指標是不一樣的,指標的值是地址,而陣列的值雖然也是地址,但是卻是一個常量,所以不能給常量賦值。擴充套件資料C語言中給指標變數賦值常數注意事項在使用指標的時候,指標可以自增,而陣列不能自增,編譯器給陣列分配了空間,陣列a的地址就是一個常量了,讓常量自增這肯定是不行的。 在指標自增的時候,編譯器會自動識別型別,比如指標是指向int型的,想獲取下一個的地址時,指標直接p++就行了。

  • 中秋節和大豐收的關聯?
  • 老電腦想升級一下,有哪些配置推薦?