C Tutorial/Language/Variable Address
Output address and value
<source lang="cpp">#include <stdio.h> int main(void) {
int number = 0; int *pointer = NULL; number = 10; printf("\nnumber"s address: %p", &number); /* Output the address */ printf("\nnumber"s value: %d\n\n", number); /* Output the value */ return 0;
}</source>
number"s address: 9a378 number"s value: 10
Using the & operator
<source lang="cpp">#include<stdio.h> int main(void) {
long a = 1L; long b = 2L; long c = 3L; double d = 4.0; double e = 5.0; double f = 6.0; printf("A variable of type long occupies %d bytes.", sizeof(long)); printf("\nHere are the addresses of some variables of type long:"); printf("\nThe address of a is: %p The address of b is: %p", &a, &b); printf("\nThe address of c is: %p", &c); printf("\n\nA variable of type double occupies %d bytes.", sizeof(double)); printf("\nHere are the addresses of some variables of type double:"); printf("\nThe address of d is: %p The address of e is: %p", &d, &e); printf("\nThe address of f is: %p\n", &f); return 0;
}</source>
A variable of type long occupies 4 bytes. Here are the addresses of some variables of type long: The address of a is: 9a57c The address of b is: 9a578 The address of c is: 9a574 A variable of type double occupies 8 bytes. Here are the addresses of some variables of type double: The address of d is: 9a568 The address of e is: 9a560 The address of f is: 9a558