Язык Си с нуля - Урок 22 - Передача параметров по указателю.

preview_player
Показать описание
Это видео для тех, кто еще ни разу не программировал, но прошел предыдущие 21 урок.

В этом уроке мы рассмотрим как и зачем передавать параметры в функции с помощью указателей.

Уроки по теме:

Язык Си с нуля - данный видеокурс предназначен для тех, кто еще ни разу не программировал. Здесь я максимально понятно пошагово обьясняю основы программирования на языке Си. Если хотите научиться программировать на языке Си - пройдите весь курс. Помимо объяснения материала я даю домашку. А после каждых нескольких уроков мы вместе пишем забавные игры!)
Рекомендации по теме
Комментарии
Автор

tolko tvoi video smotryu na ponijennoi skorosti chtob ponyat, a to strelyaesh kak iz pulemeta😄 i sposibo za uroki.👍

SAM-tks
Автор

Голос, дикция супер! классно слушать))). Даже я, несчастный гуманитарий, поняла!!

greenpastaschool
Автор

Уже научился перед каждым уроком ставить #define p printf("%d\n", i)

ForkGenesis
Автор

МОЛОДЕЦ СМОТРЮ НЕСКОЛЬКО-ОТЛИЧЬНЫЙ РОЛИК.

vanjabagdasaryan
Автор

Спасибо за отличную подачу материала. Жду продолжения)

kig
Автор

Мне кажется, в функции Inc2 нет смысла делать проверку if(x!=0), потому что когда мы передаем любую переменную в эту функцию, то сразу же указатель х приобретает значение адреса. Даже если просто создать int i; без присваивания переменной i какого-то значения, то при передаче i в функцию, указатель x получит какое-то значение (адрес i).

yuraa.
Автор

А передача по ссылке нет? Я емею в виду, когда в параметр функции пишем амперсант вместо указателя, и при вызове функции в параметр записываем переменную, таким образом функция получает ссылку. Разве этого нет в Си? Или вы просто опустили этот момент и не говорили о нем?

ДмитрийКошелев-пэ
Автор

Надо будет проверить.... Если передать в функцию не 50, а адрес переменной вручную, не используя амперсант, будет ли работать?

ilyuhagg
Автор

Вот кому нужно моё решение ДЗ:
void proc1(int *a, int *b)
{
*a = *a + 1;
*b = *b * 2;
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int a = 10, b = 20;
printf("[0]a = %d || b = %d\n\n", a, b);
proc1(&a, &b);
printf("[1]a = %d || b = %d\n\n", a, b);
proc1(&a, &b);
printf("[2]a = %d || b = %d\n\n", a, b);

return 0;
}

weblordx
Автор

Пока нормальные люди пишут крутые программы на языках высокого уровня ненормальные бороздят древние языки на уровне большого театра.

Русь-Родина