我使用的代码采用用户定义的字符串并将它们打印在 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/