c - 指针地址相乘

标签 c pointers

所以在这种情况下,bst 基本上是一个浮点指针(我将它用于二叉搜索树的数组实现)。我需要插入元素,左节点= 2i,右节点= 2i + 1,所以bst = bst * 2意味着我正在尝试更改数组当前索引的指针。这不起作用。我该如何让它发挥作用?允许指针相加,但不允许相乘。为什么?!

有关详细信息,请参阅my whole program .

最佳答案

不允许对指针进行乘法,因为它没有用处。如果您有一个位于地址 0x4f2c18e9 的变量(这是一个指针值),则没有理由期望该地址为 0x9e5831d2(即 0x4f2c18e9 * 2) 是存储数据的有效位置。

关于c - 指针地址相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22445234/

相关文章:

c - 在分配的内存范围之外写入时没有错误

c++ - 什么时候取消引用指针会导致在 C++ 中创建拷贝?

用于 mpeg-ts 的具有恒定时间延迟的 c 循环缓冲区

c - 使用多个字符作为分隔符分割字符串

c - 我的 dll 未经我同意就导出了每个函数!

objective-c - 从 dlsym() 返回值的函数?

c - 两个 C 函数试图返回字符串中的第一个单词

c - char string[100] 和 char *string = malloc(100) 之间的区别

pointers - 为什么Fortran POINTER需要一个TARGET?

c++ - SDL_Surface 指针在两个类之间传递