原本寫了乙個函式,用於去掉字串中的空格
發現並不能改變陣列的值,原因是兩個陣列的位址不一樣。=等號只是傳位址,而memcpy是將要改變字串的整個空間值全都改變了
#include
voidm(
char
*a)void
main()
;char b=
"";char
*s=b;
printf
("%p\n"
,&s)
;printf
("%p\n"
,b);
m(s)
; system (
"pause");
}
位址傳入接受指標變數的函式
void fun int a,int b int main 有乙個想法困擾了我很久。既然傳入的是位址,那麼直接交換位址不就好了?為什麼還要解引用再交換值呢?據此,我認為以下函式也能行得通。void fun int a,int b 但結果除錯的時候,沒有達到預期效果。想了很久,我試著這樣去解釋。因為函...
C語言 改變指標變數的值
例35 c語言程式設計實現改變指標變數的值。解題思路 指標p的值是可以變化的,printf函式輸出字串時,從指標變數p當時所指向的元素開始,逐個輸出各個字元,直到遇 0 為止。而陣列名雖然代表位址,但是它是常量,它的值是不能改變的。源 演示 include 標頭檔案 intmain 主函式 編譯執行...
C語言 改變指標變數的值
例35 c語言程式設計實現改變指標變數的值。解題思路 指標p的值是可以變化的,printf函式輸出字串時,從指標變數p當時所指向的元素開始,逐個輸出各個字元,直到遇 0 為止。而陣列名雖然代表位址,但是它是常量,它的值是不能改變的。源 演示 include 標頭檔案int main 主函式 編譯執行...