我的執行結果和GDB打印順序怎么和老師的不一樣?
#include?<stdio.h> int?main() { ????int?a=3; ????int?b=2; ????int?array[3]; ????array[0]=1; ????array[1]=10; ????array[2]=100; ????int?*p=&a; ????int?i; ????for(i=0;i<6;i++){ ????????printf("*p=%d\n",*p); ????????p++; ????} ????printf("--------------------------------------\n"); ????p=&a; ????for(i=0;i<6;i++){ ????????printf("p[%d]=%d\n",i,p[i]); ????} }
2017-10-12
我用vs2017調試的,老師講的各個int變量的排列是跟編譯器有關的。
只要知道,指針是地址就行了。想要能完全弄懂,可以看看匯編相關知識,會講到小端,大端,原碼補碼等相關知識。