История изменений
Исправление Vic, (текущая версия) :
Почему для изменения значения переменной через доступ к указатель указателя необходимо использовать две звезды * * в примере ниже, а write хватает * звезды чтобы добраться до значения?
В вызов си-функций можно передавать только переменную, а не значение переменной. Когда пишешь реализацию функции, то там тоже используется только переменная.
Когда в си-функцию подаешь константу (число, адрес и т.п.), то это приводит к формированию временной переменной на стеке, в которую будет скопировано значение константы. Эту переменную ты можешь спокойно менять внутри функции, т.к. после выхода из функции, переменная исчезнет (удалится из стека).
PS. И, кстати, это очень хороший вопрос, поставил палец вверх за него.
Исправление Vic, :
Почему для изменения значения переменной через доступ к указатель указателя необходимо использовать две звезды * * в примере ниже, а write хватает * звезды чтобы добраться до значения?
В вызов си-функций можно передавать только переменную, а не значение переменной. Когда пишешь реализацию функции, то там тоже используется только переменная.
Когда в си-функцию подаешь константу (число, адрес и т.п.), то это приводит к формированию временной переменной на стеке. Эту переменную ты можешь спокойно менять внутри функции, т.к. после выхода из функции, переменная исчезнет (удалится из стека).
PS. И, кстати, это очень хороший вопрос, поставил палец вверх за него.
Исправление Vic, :
Почему для изменения значения переменной через доступ к указатель указателя необходимо использовать две звезды * * в примере ниже, а write хватает * звезды чтобы добраться до значения?
В вызов си-функций можно передавать только переменную, а не значение переменной. Когда пишешь реализацию функции, то там тоже используется только переменная.
Когда в си-функцию подаешь константу (число, адрес и т.п.), то это приводит к формированию временной переменной на стеке. Эту переменную ты можешь спокойно менять внутри функции.
PS. И, кстати, это очень хороший вопрос, поставил палец вверх за него.
Исправление Vic, :
Почему для изменения значения переменной через доступ к указатель указателя необходимо использовать две звезды * * в примере ниже, а write хватает * звезды чтобы добраться до значения?
В вызов си-функций можно передавать только переменную, а не значение переменной. Когда пишешь реализацию функции, то там тоже используется только переменная.
Когда в си-функцию подаешь константу (число, адрес и т.п.), то это приводит к формированию временной переменной на стеке. Эту переменную ты можешь спокойно менять внутри функции.
Исходная версия Vic, :
Почему для изменения значения переменной через доступ к указатель указателя необходимо использовать две звезды * * в примере ниже, а write хватает * звезды чтобы добраться до значения?
В вызов си-функций можно передавать только переменную, а не значение переменной. Когда пишешь реализацию функции, то там тоже используется только переменная.