steinkrauz - Post a comment

> Recent Entries
> Archive
> Friends
> User Info

February 4th, 2022


[info]steinkrauz06:17 pm
Ну смотри, docs у нас имеет тип (void **), то есть указатель на массив.
Оператор [], обращение к элементу массива, имеет больший приоритет, чем оператор *, разыменование указателя.
Таким образом, в первой строчке мы берём указатель на массив, увеличиваем его на размер индекса, и разыменовываем то, что получилось по этому новому указателю.
Поэтому, для случая, когда i===0, всё работало. Прибавление нуля ничего не меняло, мы получали указатель на начало массива, и прекрасно его заполняли. А вот когда i становилось равно 1 и больше, сдвинутый указатель начинал смотреть хер знает куда, и при попытке туда писнуть всё падало.

Со скобками же ситуация меняется. Мы сначала разыменовываем указатель на массив, и дальше спокойно обращаемся по индексу к его элементам. Всё работает, ничего не падает, пользователи кидают чепчики в воздух.

Read Comments

Reply


From:
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message:



> Go to Top
LJ.Rossia.org