亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

定義指針時加括號是起什么作用的

定義指針時加括號是起什么作用的

C
1100001 2015-12-28 23:35:55
#include?"stdio.h" main() { ?int?*p; ?int?(*q); }以上主函數中兩句話有什么區別?**********************************在上面的代碼中問題不夠明顯,所以我現在再添加一段代碼#include?"stdio.h" main() { ?int?*p[4]; ?int?(*q)[4]; }這兩句有什么區別,這兩種指針變量該如何使用?
查看完整描述

3 回答

已采納
?
努力提升

TA貢獻65條經驗 獲得超15個贊

*p[4] 是一個指針數組,首先它是一個數組,數組中存的是指針,存指針的數組。
(*q)[4] 是數組指針,加括號先與 *結合,它是一個指針,指向一個第一維包含2個元素的2維數組,存數組地址的指針。

查看完整回答
反對 回復 2015-12-29
  • 1100001
    1100001
    也就是說,*p[]中,p是一個數組名,是常量,p[1],p[2]才是指針變量,而(*q)[]中,q仍然是一個指針變量,這個指針變量可以指向一個數組,對否。
  • 慕村3288010
    慕村3288010
    int (*p)[4]; //該語句是定義一個數組指針,指向含4個元素的一維數組。 怎么在這里就變成“就指向一個第一維包含2個元素的2維數組”了,不要誤人子弟啊
?
努力提升

TA貢獻65條經驗 獲得超15個贊

是的在同一臺電腦中是這樣的,但如果代碼拷到其他電腦上地址會發生改變

查看完整回答
反對 回復 2015-12-29
?
努力提升

TA貢獻65條經驗 獲得超15個贊

p是數組名,但不是常量量

查看完整回答
反對 回復 2015-12-29
  • 1100001
    1100001
    數組是變量,可以被賦值;但數組名指向的地址不能被改變,也就是說它不是一個可操作數,而且數組名可以直接作為一個值賦給指針變量。
  • 3 回答
  • 0 關注
  • 6262 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號