C語言裡aapp的區別

2021-03-05 09:13:44 字數 647 閱讀 5372

1樓:傷魂棄魄

*(&a)==a,a首先是個變數值,先執行(&a)取得a變數的指標地址,再執行*(&a)取得a變數上的指標地址對應的值。所以這個表示式是兩個變數值的比較。

&(*p)==p,p首先是個指標變數,先執行(*p)取得指標地址p對應的值,再執行&(*p)取得該值的地址。所以這個表示式是兩個指標地址的比較

望採納~

2樓:愛刷_棍哥

a和p是變數

,&a和*p是表示式,1和0x1000是常量a和*p表示的都是整形左值,p和&a表示的都是指標型左值,1和0x1000表示整形和指標型右值。(左右值的概念不清的話,google一下)

在記憶體中,a和p有儲存空間空間,a存放著1,p存放著0x1000,*p和&a沒有空間,他們的運算結果是在暫存器中存放的,1和0x1000也有空間,在程式的常量段存放。

*p按照stanley lippman的著作《c++ primer》中的描述,p是指標變數,*是解引用操作符,*p是一個表示式,含義是「對指標變數p進行解引用操作」,這與表示式&a的含義「取整形變數a的地址」是正好是相反的操作。

3樓:匿名使用者

*(&a)==a恆成立

&(*p)==p恆成立

但第二個要求p是指標型別

在c語言裡在前與在後的區別,在C語言裡在前與在後的區別?

關於你上面那道題答案的解釋 首先 我敢確認你的答案八成是抄錯了,因為p的值應為6。第二點 不管在前在後都只能讓i自增1。那麼下面我們來將你那個例子改一下 int p,i 2 p i i i i 上式你說現在的p和i分別是多少呢?答案 i 4 p 12 首先i 4,說明i之前只增加了2次,即 i和i ...

C語言和C 語言最大的區別

c語言與c 的區別 1,全新的程式程式思維,c語言是程序導向的,而c 是物件導向的。2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在一個標頭檔案中 而c 對於大多數的函式都是有整合的很緊密,特別是c語言中沒有的c 中的api是對window系統的大多數api有機的組合,是一個集體。但你...

c語言a與65的區別,C語言中a與a的區別是什麼?詳細一點,謝謝!

你這道題到底是想幹嘛?首先沒講明白程式的目的。看起來像是想進行大小寫轉換。看起來好像沒什麼錯誤。如果確實有錯誤的話,那估計是s字串沒有進行初始化。在gets之前加一句 memset s,0,sizeof s 檔案開頭加一句 include 哦!還有一個,是小寫字母的時候,要用減32,大寫字母的時候,...