Hello, All!
ðÏÍÏÇÉÔÅ ÎÁÞÉÎÁÀÝÅÍÕ.
ëÁË ÏÂßÑ×ÉÔØ ÓÁÂÖ? åÓÌÉ ÓÌÅÄÏ×ÁÔØ ÒÅËÏÍÅÎÄÁÃÉÉ ÍÁÎÕÁÌÁ (void (*f)(int i); ÄÌÑ ÏÄÉÎÏÞÎÏÇÏ ÕËÁÚÁÔÅÌÑ), ÍÎÅ ÎÉÞÅÇÏ ÌÕÞÛÅÇÏ, ÞÅÍ
void (*MenuGuide)(uchar pre)[] = {(uchar *)MS0, (uchar *)MS1};
× ÇÏÌÏ×Õ ÎÅ ÐÒÉÛÌÏ... HÕ, × ÏÂÝÅÍ, ÈÏÔÅÌÏÓØ ÏÂßÑ×ÉÔØ É ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÍÁÓÓÉ× ÕËÁÚÁÔÅÌÅÊ ÎÁ ÆÕÎËÃÉÉ MS0, MS1, ÞÔÏÂÙ ÐÏÔÏÍ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÇÏ × ÍÅÎÀ-ӣÒÆÉÎÇÅ.
ëÁË ÎÉ ÐÅÒÅÓÔÁ×ÌÑÌ ÓËÏÂÏÞËÉ :), ÏÔ ÒÕÇÁÔÅÌØÓÔ× ËÏÍÐÉÌÅÒÁ ÎÅ ÉÚÂÁ×ÉÌÓÑ.
ðÏËÁ ÒÅÛÉÌ ÐÒÏÂÌÅÍËÕ ÇÏÒÂÁÔÏ: ÓÏÚÄÁÌ ×ÅËÔÏÒ ÁÄÒÅÓÏ× É ÐÏÔÏÍ ËÁÓÔÏÍÉÚÉÒÏ×ÁÌ ÅÇÏ ÜÌÅÍÅÎÔÙ × ÕËÁÚÁÔÅÌÉ ÎÁ ÆÕÎËÃÉÉ ÎÕÖÎÏÇÏ ÔÉÐÁ. HÏ ÎÅËÕÚÑ×Ï ËÁË-ÔÏ.
MenuNode = ((uchar (code *)(uchar)) MenuGuide[MenuNode]) (MenuNode);
úù. ëÅÊÌ ã 6.01. úúù. ëÒÁÅÍ ÕÈÁ ×ÉÄÅÌ × ÜÈÅ (Ó ÍÅÓÑÃÏË ÔÏÍÕ) ËÁËÉÅ-ÔÏ ÏÂÓÕÖÄÅÎÉÑ ×ÁÒÉÁÎÔÏ× ÐÏÓÔÒÏÅÎÉÑ ÍÅÎÀ ÎÁ ÜÈÏÔÁÇÅ. ðÒÏÐÕÓÔÉÌ, ËÁË ÏÂÙÞÎÏ ÂÙ×ÁÅÔ, ÄÕÍÁÌ "ÎÅ ÐÒÉÇÏÄÉÔÓÑ". âÙÌ ÂÙ ÒÁÄ, ÅÓÌÉ Â ÎÅËÉÊ ÄÏÂÒÏÖÅÌÁÔÅÌØ ÏÔÍÙÌÉÌ ÍÎÅ ÜÔÏÔ ÔÒÅÄ.
ó Õ×ÁÖÅÎÉÅÍ, àÒÉÊ ëÒÀÞËÏ× aka àÒÉÊ àÒØÅ×ÉÞ.