1樓:龔煒林
首先,對你的自學表示尊敬!
其次,我大致說一下你這裡涉及的一些問題。
你的書本或許描述不容易讓讀者理解,但我可以簡單分析:
搞懂三個概念:地址,儲存單元,儲存單元的值。
一個微機系統,必備的一個部分就是儲存器,它用於儲存資料,儲存器最小單元是一個位元組,就像整數的間隔至少是1,而儲存器儲存資料也是要對號入座的,於是就給予儲存器每個最小單元編號,不同微機系統,可能編號有所差距,但是,絕大多數是從0開始的。這個編號就是儲存單元的地址。
儲存器中由一個或多個位元組共同組成,然後儲存一堆資料,這個儲存資料的幾個物理器件就是儲存單元。
對於一個指標變數,它儲存的是編號,它所指向的就是儲存單元,而儲存單元儲存的值就是儲存單元的內容。
因此,你再仔細讀讀上邊的話。
*p出現在左邊.......說的正是,這個時候是訪問儲存單元,不是訪問值,因為你的操作會修改的是儲存單元。
*p在右邊,讀取的是值,不是儲存單元。
至於你的問題2,&a就是求a變數的儲存地址編號,是個整數,如果按你說的方式輸出,那自然無疑。
另外,介於更嚴謹的知識體系,我個人覺得,上述說法有不足之處,只是不是你的說的不理解的地方,比如*p出現在等號左邊,在右邊,其實看具體情況而定,這個可以更多討論(qq私信傳送給你了)。
如果滿意這個回答:請採納,並贊一個,謝謝。
2樓:匿名使用者
嗯!可能是這裡寫的有偏差!
你可以這樣理解!
因為是出現再賦值號的左邊,那麼就應該理解這時候的*p是地址,出現在右邊是把自己的值賦給別人!
通常a=100 是a的值100嗎? 答案是:是!
那麼scanf("%d",&a)這句話的意思是說:把a的地址當成一個數值顯示出來!
3樓:匿名使用者
*p = *a就是把指標a指向的地址存放的資料複製給指標p指向的地址。
scanf函式就是把輸入的資料以某種格式儲存在變數a的地址中。
c語言程式設計題,做了一天了,有兩題實在不會,老師只教了一點點,讓我們自學,麻煩大神幫幫忙
4樓:
六題,看函式名就知道了。
寫完才注意到你需要用c語言,但我寫的是c++。我也懶得改了,你自己改一下吧,只要把輸入輸出語句換成c語言的格式就可以了。
5樓:匿名使用者
#include
int main()
}printf("%d\n",cnt);
return 0;
}#include
int main()
while(m);
return 0;}
各位c語言大神能幫幫忙嗎?請大家看看這道題
6樓:我很牛怎麼帝
1.#include
int jiecheng(int n)
return s;
}int main()
printf("%d",sum);
return 0;}
各路c語言高手幫幫忙啊,做個判斷題哈
第三題 錯誤 不會導致編譯錯誤,因為x 5表示將5賦值給x,此條語句一直為真,故而編譯不會報錯 第四題 錯誤 輸出應該是tf 如果增加break語句才會輸出一種情況,如下所示 int i 20 switch i 10 第五題 正確 如 switch i 第六題 正確 對指向陣列,字串的指標變數可以遏...
c語言題目,求大神幫幫忙寫一寫,C語言題目,求大神幫幫忙寫一寫!!
聽不清啊 include int main t,st 5 int i,j file fp1,fp2 if fp1 fopen d stud.dat r null if fp2 fopen d studsort.dat w null for i 0 i 5 i for i 0 i 4 i for j ...
會c語言的幫幫忙
r 只讀 為輸入開啟一個文字檔案 檔案必須存在 w 只寫 為輸出開啟一個文字檔案 如沒有檔案,則新建 a 追加 向文字檔案尾新增資料 如沒有檔案,則新建 rb 只讀 為輸入開啟一個二進位制檔案wb 只寫 為輸出開啟一個二進位制檔案ab 追加 向二進位制檔案尾新增資料r 讀寫 為讀寫開啟一個文字檔案 ...