У нас есть следующий код:
#include <stdio.h>
#define LEN 10
int main(void) {
int i;
int array[LEN];
int *p;
for (i = 0; i < LEN; i++) {
array[i] = i;
}
for (p = &array[0]; p < &array[LEN]; p++) {
printf("Address: %p ", p);
printf("Value: %d\n", *p);
}
return 0;
}
И он просит нас выяснить, сколько байтов сервер использует для хранения целочисленной переменной, и вывести ее на новую строку, и это дает нам подсказкуиспользовать sizeof.
Теперь я немного новичок с указателями, так что это, вероятно, очень быстрый вопрос, но я должен напечатать:
printf("Size of int: %d", sizeof(p));
или sizeof(*p)
Один печатает 4, а другой печатает 8. Я склонялся к 8 (что происходит от просто p), поскольку это относится к ячейке памяти, а не к переменной, на которую оно указывает значение, верно?И 8 будет означать 8 бит, поэтому ответом будет 1 байт?