LINUX.ORG.RU

История изменений

Исправление bormant, (текущая версия) :

На сколько я понял, AntonI и u5er утверждают что buf на самом деле указатель. А вы не согласны. Не могли бы вы сказать мне, что же в данном случае buf на самом деле? (только если можно прямо, без отсылок на код, а то я боюсь не разберусь сразу)

buf — массив (array object).
А спор вызван тем, что в языке Си при упоминании имени массива (buf) в выражении в подавляющем большинстве случаев произойдет конвертация его типа в указатель на начальный элемент массива.
Тем не менее, в остальных случаях разница сохраняется ;)
Простейший пример:

char a[32];  // sizeof a == 32
char *p;  // sizeof p == размер_указателя

Исходная версия bormant, :

На сколько я понял, AntonI и u5er утверждают что buf на самом деле указатель. А вы не согласны. Не могли бы вы сказать мне, что же в данном случае buf на самом деле? (только если можно прямо, без отсылок на код, а то я боюсь не разберусь сразу)

buf — массив (array object).
А спор вызван тем, что в языке Си при упоминании имени массива (buf) в выражении в подавляющем большинстве случаев произойдет конвертация его типа в указатель на начальный элемент массива.
Тем не менее, в остальных случаях разница сохраняется ;)
Простейший пример:

char a[32];  // sizeof a == 32
char *p;  // sizeof p == размер_указателя
[/char]