Поскольку размер любого указателя на любой тип равен размеру слова, которое является машиной или
зависит от компилятора и остается одинаковым для всех указателей типов данных, в вашем случае это
это 8 байт. Теперь размер символа составляет 1 байт.
sizeof(*word)
дает размер байта, на который указывает указатель слова, который является
символ, поэтому он дает 1 байт.
сейчас **sentence
- указатель указателя (двойной указатель), который означает, что при использовании
sizeof(*sentence)
это на самом деле дает вам размер указателя, на который указывает
**character
указатель, который составляет 1 слово, поэтому он дает 8 байтов.
Указатель похож на поток (ссылку) на блок (адрес памяти в байтах), в котором некоторые
элемент (значение) размещен. То же, что и «для хранения больших предметов, вам нужна большая коробка (размер зависит от
тип данных) "но поток (ссылка) не должен зависеть от размера элемента или блока, они остаются одинаковыми
указать любую клетку.
Но при использовании двойного указателя вы на самом деле используете поток в поле, которое содержит
другой поток к фактическому блоку, в который помещено значение.
так вы получите размер первого указателя, который содержит ссылку на фактическое значение типа данных.
если вы используете sizeof(**sentence)
, вы получите вывод 1.