const静态限定符的行为

时间:2017-01-07 06:44:14

标签: c static const

当我尝试构建此程序时,它会发出警告,

  

初始化从指针目标类型

中丢弃'const'限定符

但是当我执行它时,输出为

    p and (&sa) has same addresses
    but *p and sa has different values

我很困惑为什么它会给出不同的价值。

#include<stdio.h>

const static int sa;

int main (void)
{
    int *p = &sa;

    *p = 32;

    printf("*p : %d\tp = %p\n", *p, p);
    printf("sa : %d\t&sa = %p\n", sa, &sa); 

    return 0;
}

0 个答案:

没有答案