a、語法正確(可能導致編譯警告)。除非是靜態變量或全局變量,否則S不會初始化,它是壹個隨機值。*s的值無法確定,即沒有確定的語義。如果是靜態變量或全局變量,s初始化為0,地址0的解引用操作沒有明確的語義。
b、失誤。原因同上,隨機地址的運算沒有確定的語義(s【0】等價於*s)。此外,隨機地址單元的寫操作(分配)導致的後果是不可預測的。
正確,將a的地址【1】分配給指針S..
d、語法錯誤,c(int)和a(const int *)的類型不匹配,這將導致編譯錯誤。
擴展數據:
將某個值賦給變量的語句稱為賦值語句。每種編程語言都有自己的賦值語句,賦值語句也有不同的類型。分配的“值”可以是數字、字符串和表達式。
例如,如果給變量A賦值壹個數字12,則格式為:a = 12【註意:變量(即A)只能是字母,賦值可以是公式。當它是壹個公式時,A的值就是這個公式的結果。