Они не эквивалентны.
*pbuf = buf
Это означает, что "pbuf
является указателем на тип char
, значением которого является адрес buf
."Поскольку buf
является массивом символов, это работает.
**ppbuf = &pbuf
Это означает, что "ppbuf
- это указатель на указатель на тип char
, значение которого является адресом pbuf
«.Поскольку pbuf
является указателем на тип char
, это работает.
**ppbuf = &buf
Это означает, что "ppbuf
является указателем на указатель на тип char
, значение которого является адресомbuf
«.Так как buf
является массивом символов, это терпит неудачу.