void far * Video;
时间: 2023-07-23 14:51:28 浏览: 46
这行代码定义了一个指向 far 类型数据的 void 指针 Video。在这里,far 是一个关键字,它用于表示指针 Video 所指向的内存地址是一个远指针,也就是包含段地址和偏移地址两部分的指针。
在这段代码中,Video 指针被用来指向屏幕缓冲区的起始地址,即屏幕显示的内容最终会被写入到这个地址所表示的内存区域中。由于屏幕缓冲区的大小是 64000 字节,因此指针 Video 所指向的内存地址是一个 far 类型的指针。在实际使用中,可以通过 Video 指针来修改屏幕显示的内容。
相关问题
void far * Video; far关键字
在 C 语言中,far 是一个关键字,它通常与指针一起使用,用于表示指针所指向的内存地址是一个远指针,也就是包含段地址和偏移地址两部分的指针。在 16 位架构的计算机中,由于地址总线只有 16 位,因此需要使用段地址和偏移地址来访问大于 64KB 的内存空间。
在这段代码中,void far * Video 定义了一个指向 far 类型数据的 void 指针 Video。由于屏幕缓冲区的大小是 64000 字节,因此指针 Video 所指向的内存地址是一个 far 类型的指针。这个指针可以用来修改屏幕显示的内容,因为屏幕缓冲区的地址就是指针 Video 所指向的地址。
需要注意的是,far 关键字在现代的 32 位和 64 位架构中已经不再使用,因为这些架构的地址总线可以访问更大的内存空间。
void **的具体解释
void **是一个指向指针的指针,它可以用来表示一个指向任意类型的指针的指针。在C语言中,void *是一种通用的指针类型,可以指向任意类型的数据。而void **则是void *的指针,可以用来存储和操作指向void *类型的指针。
具体来说,void **可以用于实现多级指针的概念。例如,如果我们有一个指向int类型的指针int *p,那么void **可以用来指向p的地址,即void **pp = &p。通过void **,我们可以通过解引用操作来访问和修改p所指向的int类型的值。
需要注意的是,使用void **时需要小心类型转换和解引用操作,确保正确地访问和操作指向的数据。