怪異的指標 |
缺席
|
yshihyu
一般會員 發表:23 回覆:18 積分:8 註冊:2006-11-28 發送簡訊給我 |
#include
#include int far *head = ( int far * ) 0x0000041A; int far *tail = ( int far * ) 0x0000041C; char far *buffer = ( char far * ) 0x0000041E; char far *segment = ( char far * ) 0x00400000; main () { clrscr(); *( int far * )( 0x41A ) = *( int far * )( 0x41C ); /* Clear KB buffer. */ for ( ; ; ) printf ("Head : %d Tail : %d Head ---> %c Before Tail ---> %c\n", *head, *tail, *( segment *head ), ( *tail == 30 ) ? *( buffer 30 ) : *( segment *tail - 2 ) ); } 想只到下面兩段做什麼用處下面兩個市我在網路上看到的 是turbo c 編譯器 , 我想知道它這樣指標用法符合C語言標準嗎?? 還是它是turbo c 編譯器才有支援這樣用法 int far *head ?? 看不懂這宣告是做什麼 int far *head = ( int far * ) 0x0000041A; *( int far * )( 0x41A ) = *( int far * )( 0x41C ); int *far = (int *)0x0000041A; // 我改成這樣OK嗎??? 以C 標準來說? 謝謝 |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
yshihyu
一般會員 發表:23 回覆:18 積分:8 註冊:2006-11-28 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
jesse_chao
一般會員 發表:2 回覆:9 積分:2 註冊:2003-12-09 發送簡訊給我 |
那是古早以前turbo C和borland C用的,是建立所謂的far heap(遠程堆積)結構用的指標,現在unix跟嵌入式也有的在用, 但是你的範例windows下百面不能跑
=========================================================================== -----------恕刪------------------------- 想只到下面兩段做什麼用處下面兩個市我在網路上看到的 是turbo c 編譯器 , 我想知道它這樣指標用法符合C語言標準嗎?? 還是它是turbo c 編譯器才有支援這樣用法 int far *head ?? 看不懂這宣告是做什麼 int far *head = ( int far * ) 0x0000041A; *( int far * )( 0x41A ) = *( int far * )( 0x41C ); int *far = (int *)0x0000041A; // 我改成這樣OK嗎??? 以C 標準來說? 謝謝 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |