正如我们所知,在c语言中,char指针逐字节遍历内存,即每次1字节,每次整数指针4字节(在gcc编译器中),每次2字节(在TC编译器中).
例如:
char *cptr; // if this points to 0x100
cptr++; // now it points to 0x101
int *iptr; // if this points to 0x100
iptr++; // now it points to 0x104
Run Code Online (Sandbox Code Playgroud)
我的问题是:
如何在c中创建位指针,逐位递增遍历存储器?
为什么在32位编译器中没有near,far和huge指针的概念?据我所知,在16位8086架构编译器上创建的程序可以有1 MB的大小,其中有数据段,图形段等.要访问所有这些段并保持指针增量概念,我们需要这些各种指针,但为什么在32位中它没有必要?