2

我知道int* foo(int)原型意味着它foo是一个接受整数参数并返回指向整数的指针的函数。但是以下是什么意思?

  const int* foo(int);

我试图推理但失败了。我的书没有说明这一点,但我在库函数原型中看到了类似的东西。所以请告诉我这是什么意思。

4

3 回答 3

1

因此返回地址指向的值不能通过地址更改(当 foo() 返回 const 的地址时很有用)。

const int* p2c =  foo(int);
*p2c=10;  <-- "error"
于 2013-05-14T13:52:58.773 回答
1

cdecl

这表示

将 foo 声明为函数 (int) 返回指向 const int 的指针

于 2013-05-14T13:53:32.383 回答
1
const int* foo(int);

foo 是一个函数,它接受一个整数参数并返回一个指向 const 整数的指针。这意味着您可以更改指针但不能更改它的值。

于 2013-05-14T13:53:46.050 回答