LINUX.ORG.RU

Какая-то дичь в Си

 , ,


0

1
#include <stdio.h>
void log(int x)
{
  int *ptr = x;
  *ptr += 17;
  printf("%d\n", *ptr);
}

int main(void)
{
  int n = 20;
  log(&n);
  return 0;
}


Этот код падает с сегфолтом
Почему нельзя так делать? Или может я неправильно делаю?

★★

Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от anonymous

Почему не работает прямая аналогия с электронной лампой? (там решётка, а у транзистора аналогичного нет)

pacify ★★★★★
()
Ответ на: комментарий от pacify

транзистор - это уже детали физической реализации :)

а так - электроны и дырки туда-сюда снуют через эмиттер-базу-коллектор, и ток через эмиттер-базу управляет током через эмиттер-коллектор, вот

Harald ★★★★★
()
Ответ на: комментарий от Harald

туда-сюда снуют

Туда понятно, а обратно как они попадут? )

curufinwe ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.