Exercises 2.14 Programming Exercise
1.
Write a program in C that creates a display similar to Figure 2.13.2.
Hint
Solution
The C statement char *stringPtr = "Hello world.\n"; will give you some characters to display and the pointer variable, stringPtr, to access them. The printf formatting codes are %p for the pointer variable and 0x%02x to display the byte at each address in hexadecimal. If pointer variables are new to you, use *stringPtr to access the memory pointed to by the variable; * is called the dereferencing operator.
/* stringInHex.c
* displays each character in "Hello world" in hex
* and the address where it is stored.
*
* 2017-09-29: Bob Plantz
*/
#include <stdio.h>
int main(void)
{
char *stringPtr = "Hello world.\n";
while (*stringPtr != '\0')
{
printf("%p: ", stringPtr);
printf("0x%02x\n", *stringPtr);
stringPtr++;
}
printf("%p: ", stringPtr);
printf("0x%02x\n", *stringPtr);
return 0;
}
