我寫這個測試上的指針我的知識:爲什麼這個程序有意想不到的指針值?
int main(){
int seven = 7;
int* p = &seven;
int** pp = &p;
int*** ppp = &pp;
printf("%d %d %d %d\n", *ppp, &pp, &p, &seven);
}
然而,在輸出中,我得到:
1363848032 1363848024 1363848032 1363848044
這是直觀的我,因爲*ppp == &p
我預計*ppp == &pp
。這是爲什麼發生? &pp
是否遵循指向p
的指針?
總是使用'「%p」'格式說明符來打印指針地址!同樣,從main函數返回一些東西(因爲它必須返回'int'),從stdlib.h中返回'EXIT_SUCCESS',最後但並非最不重要的是,編寫'int main(void)'或'int main (int argc,const char * argv [])' –
Yessir,未來會做@PeterVaro –