次のスニペットでは、ポインターのアドレスと値が type として参照されていsize_t
ます。しかし、タイトルが示すように、最後の減算は私には意味がありません。に見られるように、実際の値ではなく、8 を掛けた数値を減算するかのように動作しint array
ます。
#include <stdio.h>
#include <stdint.h>
int main()
{
int i[6] = {2, 0, 1, 0, 20, 24};
void *ptr = &i[2];
printf("%zu\n", ((size_t*)ptr));
printf("%zu\n", *((size_t*)ptr));
printf("%zu\n", ((size_t*)ptr) - *((size_t*)ptr));
}