我写这个测试上的指针我的知识:为什么这个程序有意想不到的指针值?
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 –