它是指针常量还是变量常量?

时间:2012-08-21 11:17:32

标签: c

  

可能重复:
  what is the difference between const int*, const int * const, int const *
  constant pointer

这两个陈述之间有什么区别吗?

void * const sam;

void const *sam;

3 个答案:

答案 0 :(得分:2)

void * const sam;

指针是只读的。限定符位于*之后。

void const *sam;
指针是只读的。限定符在*之前。

答案 1 :(得分:0)

const int * Constant

声明Constant是指向常量整数和

的变量指针
int const * Constant

是另一种语法,它可以做同样的事情,而

int * const Constant

声明Constant3是指向变量integer和

的常量指针

来源:

http://duramecho.com/ComputerInformation/WhyHowCppConst.html

答案 2 :(得分:0)

void更改为int

int * const sam;
sam = NULL; /* invalid */
*sam = 42; /* valid */

int const *sam;
sam = NULL; /* valid */
*sam = 42; /* invalid */