0

when i am trying to build this program it is giving warning as,

initialization discards ‘const’ qualifier from pointer target type

But when i am executing it is giving output as

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

I am confused why is it giving 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;
}
Sourav Ghosh
  • 133,132
  • 16
  • 183
  • 261

0 Answers0