您不能对空指针使用指针算术,那么空指针数组如何工作?

时间:2019-07-07 09:17:54

标签: c++ arrays void-pointers pointer-arithmetic

从阅读教程中,我的理解是在幕后,operator([])的作用与指针算术相同。

Learncpp的意思是:“事实证明,当编译器看到下标运算符([])时,实际上会将其转换为指针加法和取消引用!”。

Wikibooks然后说:“声明为某种类型的数组的变量充当指向该类型的指针。当单独使用时,它指向数组的第一个元素。”

然后,在阅读了有关空指针的信息之后,我很想知道它们将如何工作?我想我对某事的理解一定是错误的。

例如,以下两个应该相同。

a)

void* array[5];
array[1] = nullptr;

b)

void* array[5];
*(array + 1) = nullptr;

1 个答案:

答案 0 :(得分:2)

在您的情况下,指针数组基本上只是Message message = Message.builder() .putData("data",data) .setToken(deviceID) .build(); String response = FirebaseMessaging.getInstance().send(message); -**

您知道void**的大小,因为它只是另一个指针。