如果指针已经标记为const,是否会在C中限制?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (44)

假设有一个函数,如:

// Constructed example
void foo (float* result, const float* a, const float* b, const size_t size)
{
     for (size_t i = 0; i < size; ++i)
     {
         result [i] = a [0] * b [i];
     }
}

如果编译器必须假设result可能与a,每次都要重取一个

提问于
用户回答回答于

指针是const的。编译器仍然不知道结果是否是const指针的别名,可以使用非const指针作为常量指针

用户回答回答于

strtoimax和strtoumax

#include <inttypes.h>
intmax_t strtoimax(const char * restrict nptr,
                   char ** restrict endptr, int base);
--- snip ---

扫码关注云+社区

领取腾讯云代金券