c++ - 对指针的误解

标签 c++ c

我使用的代码采用用户定义的字符串并将它们打印在 VGA 上监视器,使用保存在头文件中的预定义字体数组。但是在其他源代码中有些代码行我无法理解,比如这些:

uint8_t *rowoftext ; 
char *text[20] = {"string1","string2",.......,"srting20"};

这条线到底做了什么?

rowoftext = (uint8_t *)text[textrow++];

如何将 uint8_t 指针数组等同于另一个指针? 我是否理解得很好,或者这一行是做什么的?

最佳答案

(uint8_t *) 称为 cast。它将一种类型转换为另一种类型,在这种情况下,一种指针类型转换为另一种指针类型。如果指向的对象不兼容,这是非常危险的,但在这种情况下它们是。

关于c++ - 对指针的误解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19142293/

相关文章:

GetOpenFileName 能否将文件选择限制为与过滤器匹配的文件?

c - 你如何读取一个文件,直到你在 c 中命中某个字符串?

C 非标准库

objective-c - 如何以编程方式设置代理设置

c - 为什么 inode 编号从 1 而不是 0 开始?

c++ - 特征:如何用一些子稀疏矩阵初始化稀疏矩阵

c++ - 具有自定义比较仿函数的集合,在相等的情况下可预测

c++ - 停止从标准输入读取

c++ - 继承的构造函数和 STL 容器错误

c++ - 这些编译器选项放到一个 CMakeLists.txt 中