Я использовал модификаторы типа (far,near,huge) с обычными переменными, а не с указателями, и обнаружил, что эти модификаторы типа указателя применимы только для глобальной нормальной переменной, но при использовании с локальной переменной генерируется ошибка. к блоку.
int near a,far b,huge c;
int main()
{
int d,e,f;
// int near a,far b,,huge c;
// long int near a,far b,huge c;
// long long int near a,far b,huge c;
//printf("\n size of a=%d ,b=%d ,c=%d ,d=%d ,e=%d ,f=%d",sizeof(a),sizeof(b),sizeof(c),sizeof(d),sizeof(e),sizeof(f));
printf("\n address of a=%u ,b=%u ,c=%u ,d=%u ,e=%u,f=%u",&a,&b,&c,&d,&e,&f);
return 0;
}
почему это разрешено с глобальной переменной, а не с локальной переменной. Кроме того, чем в конечном итоге становится переменная, то есть она становится указателем, целым числом с большим диапазоном или чем-то еще.