#include <stdio.h>
int main()
{
// declaring a near pointer
int near* ptr;
// size of the near pointer
printf("Size of Near Pointer: %d bytes", sizeof(ptr));
return 0;
}
近指针特定于一些较旧的C编译器和体系结构,它不是现代编译器支持的标准C语言的一部分,包括Visual Studio Code中使用的编译器。近指针主要用于16位DOS编程中的内存模型,如“近”内存模型。 在现代C编程中,你不会在标准用法中找到近指针。相反,今天的编译器使用“平面”内存模型,其中所有指针实际上都是相同的,并且近指针和远指针的概念已经被消除。 如果您尝试在现代C编译器(包括Visual Studio Code中使用的编译器)上使用near指针编译程序,则可能会导致编译错误,因为编译器无法识别near关键字。 要在Visual Studio Code中使用标准C指针,您可以声明和使用不带任何内存模型限定符的指针:
#include <stdio.h>
int main()
{
// declaring a pointer
int* ptr;
// size of the pointer
printf("Size of Pointer: %zu bytes", sizeof(ptr));
return 0;
}
1条答案
按热度按时间ojsjcaue1#
近指针特定于一些较旧的C编译器和体系结构,它不是现代编译器支持的标准C语言的一部分,包括Visual Studio Code中使用的编译器。近指针主要用于16位DOS编程中的内存模型,如“近”内存模型。
在现代C编程中,你不会在标准用法中找到近指针。相反,今天的编译器使用“平面”内存模型,其中所有指针实际上都是相同的,并且近指针和远指针的概念已经被消除。
如果您尝试在现代C编译器(包括Visual Studio Code中使用的编译器)上使用near指针编译程序,则可能会导致编译错误,因为编译器无法识别near关键字。
要在Visual Studio Code中使用标准C指针,您可以声明和使用不带任何内存模型限定符的指针:
字符串