test1.c
#include
#include
#include
#include
char *b = "abcdefg";
void change_char(char *str)
int main(int argc, char **argv)
gcc test1.c -o test1
執行結果
str[abcdefg]
a[(null)]
test2.c
#include
#include
#include
#include
char *a = null;
char *b = "abcdefg";
void change_char(char *str)
int main(int argc, char **argv)
gcc test2.c -o test2
執行結果
str[abcdefg]
a[(null)]
test3.c
#include
#include
#include
#include
char *b = "abcdefg";
void change_char(char **str)
int main(int argc, char **argv)
gcc test3.c -o test3
執行結果
str[abcdefg]
a[abcdefg]
疑惑:1.test1,test2執行結果,說明什麼問題?作用域的問題?
2.test3執行結果,說明的確把指標a的位址值更改為指標b的位址值。
總結:1.任何指標的占用空間都是4個位元組大小,如果指標沒有指向分配的某一塊具體空間位址,千萬不能針對該指標執行具體操作!!!!
2.程式本質上都是針對記憶體空間的內容進行操作的,一定要仔細考量!
3.
指標 解決的疑惑
簡單的就不說了,今天學鍊錶,在鍊錶中遇到了自己疑惑的事情,後來在網上查二級指標,搜出來乙個,才解除了自己的疑惑 好久沒有用過c c 的二級指標了,總覺的它就是指標的指標,沒什麼大不了的,但是今天看到一道面試題,感覺自己對二級指標的理解還是不夠深刻。於是,從網上找資料,學習了一番 題目是這樣的 inc...
指標與陣列的疑惑
include void reverse string char string void swap char a,char b intmain void void reverse string char string 若char string fucnkjljlk 換成 char string fu...
c指標 2個疑惑。
先註明,寫給自己看的。1.include include int main ptr printf d ptr return 0 剛剛看這樣的題目,感覺蠻簡單的。ptr定義指向了 m array的首位址,char型別1位元組。乙個int4個位元組 ptr 後,指標ptr的值加上1乘sizeof int...