#include #include #include #include int main ( void ) { char far *fptr; char *str = "Hello"; /* allocate memory for the far pointer */ fptr = farcalloc ( 10, sizeof ( char ) ); /* copy "Hello" into allocated memory */ /* Note: movedata is used because you might be in a small data model, in which case a normal string copy routine can't be used since it assumes the pointer size is near. */ movedata ( FP_SEG ( str ), FP_OFF ( str ), FP_SEG ( fptr ), FP_OFF ( fptr ), strlen ( str ) ); /* display string (note the F modifier) */ printf ( "Far string is: %Fs\n", fptr ); /* free the memory */ farfree ( fptr ); return 0; }