#include void main () { int data[] = { 15, 16, 17 }; char str[] = "PK"; int* p_data = data; char* p_str = str; /* int 型配列 data の表示 */ printf("*** int 型配列 data の先頭アドレス(要素:0)表示 ***\n"); printf("data = %d, &data[0] = %d, p_data = %d\n", data, &data[0], p_data); printf("*** int 型配列 data の先頭の値(要素:0)表示 ***\n"); printf("data[0] = %d, *p_data = %d\n\n", data[0], *p_data); printf("*** int 型配列 data の 2 番目のアドレス(要素:1)表示 ***\n"); printf("&data[1] = %d, p_data+1 = %d\n", &data[1], p_data+1); printf("*** int 型配列 data の 2 番目の値(要素:1)表示 ***\n"); printf("data[1] = %d, *(p_data+1) = %d\n\n", data[1], *(p_data+1)); printf("*** int 型配列 data の 3 番目のアドレス(要素:2)表示 ***\n"); printf("&data[2] = %d, p_data+2 = %d\n", &data[2], p_data+2); printf("*** int 型配列 data の 3 番目の値(要素:2)表示 ***\n"); printf("data[2] = %d, *(p_data+2) = %d\n\n", data[2], *(p_data+2)); /* char 型配列 str の表示 */ printf("*** char 型配列 str の先頭アドレス(要素:0)表示 ***\n"); printf("str = %d, &str[0] = %d, p_str = %d\n", str, &str[0], p_str); printf("*** char 型配列 str の先頭の値(要素:0)表示 ***\n"); printf("str[0] = %c, *p_str = %c\n\n", str[0], *p_str); printf("*** char 型配列 str の 2 番目のアドレス(要素:1)表示 ***\n"); printf("&str[1] = %d, p_str+1 = %d\n", &str[1], p_str+1); printf("*** char 型配列 str の 2 番目の値(要素:1)表示 ***\n"); printf("str[1] = %c, *(p_str+1) = %c\n\n", str[1], *(p_str+1)); printf("*** char 型配列 str の 3 番目のアドレス(要素:1)表示 ***\n"); printf("&str[2] = %d, p_str+2 = %d\n", &str[2], p_str+2); printf("*** char 型配列 str の 3 番目の値(要素:1)表示 ***\n"); printf("str[2] = %d, *(p_str+2) = %d\n\n", str[2], *(p_str+2)); }