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

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

C語言指針問題:在定義指針時*p=a和p=a有區別嗎?

C語言指針問題:在定義指針時*p=a和p=a有區別嗎?

C
翻過高山走不出你 2019-04-04 02:01:40
C語言指針問題:在定義指針時*p=a和p=a有區別嗎?
查看完整描述

3 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

在定義指針時,指針變量名前的*號是必須的,不能少,區別于普通變量, 說明當前變量是指針變量,而不是普通的變量。

對于你的問題,我舉例說明:

情形一:

int a[5]={1,2,3,4,5};

int *p=a;//這是在定義指針變量p的同時就直接給它初始化,即把數組a的首地址賦給它。

情形二:

int a[5]={1,2,3,4,5};

int *p;//聲明指針變量p
p = a;
這里的話是先聲明指針p,然后再對它初始話,等價于情形一,只是分開寫法而已。

查看完整回答
反對 回復 2019-04-05
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

當然有區別,區別很大,*p=a,就是給指針的表示的地址賦值,也就是賦值給指針指向的存儲單元;而p=a,則表示給指針賦值,也就是指針的地址變成了a。兩者一個指明了具體值大小,一個指明了具體位置。

查看完整回答
反對 回復 2019-04-05
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

*p=a
是p所指向地址的內容是a(比如一個數,或字符)
p=a
是p指向a(比如0x0001)這個地址


查看完整回答
反對 回復 2019-04-05
  • 3 回答
  • 0 關注
  • 2772 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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