Тёмный

#5. Переменные и их базовые типы. Модификаторы unsigned и signed | Язык C для начинающих 

selfedu
Подписаться 159 тыс.
Просмотров 27 тыс.
50% 1

Практический курс по C/C++: stepik.org/cou...
Телеграм-канал: t.me/java_and_c
Инфо-сайт: proproprogs.ru...
Что из себя представляют переменные языка Си. Правила выбора имени и написания переменных. Базовые типы данных: char, short, int, long, long long, float, double, long double. Модификаторы unsigned и signed

Опубликовано:

 

27 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 51   
@stepanbrop9888
@stepanbrop9888 Год назад
Изучаю у Вас SQLite .. Уже не знаю, куда ставить второй лайк на видео) Четко, без воды, понятно и доступно! И ни за какие курсы платить не надо! ВЫ-ЛЕГЕНДА! Я Вам очень сильно благодарен за такую работу! Всем добра и счастья!)
@ivanovv9329
@ivanovv9329 3 месяца назад
Это настолько углублённый и разжёванный курс, что поймёт даже пятилетка! Огромное спасибо за проделанную работу. Ваши старания абсолютно бесплатно, за что тройной респект. Если бы вы были инфоцыганом, заманивающим аудиторию на свои курсы, я бы с радостью на них записался! С моим мнением согласны многие, судя по комментариям. Всего вам наилучшего
@ГлебСуворов-й5д
@ГлебСуворов-й5д 5 месяцев назад
Лучший курс по Си, который видел
@ГубкаБоб-р8ъ
@ГубкаБоб-р8ъ Год назад
Ура! Новый урок! Посмотрел с удовольствием. Знаю немного пайтон, очень интересно посмотреть на программирование со стороны языка С. Спасибо большое
@campillius
@campillius 9 месяцев назад
same here :)
@siarheiulas6969
@siarheiulas6969 4 месяца назад
Большое спасибо за работу! Просмотр материала - удовольствие!
@jirniy_bob2000
@jirniy_bob2000 Год назад
Зачет !!!! Уникальный канал.... Спасибо автору за достойную работу!
@AlexRootx
@AlexRootx Год назад
И снова лайк за проделанную работу!!! Нужные уроки, качественная подача материала, заодно и память освежу!!!
@olegkomlev
@olegkomlev 11 месяцев назад
Формально, по стандарту C99 типы char, signed char и unsigned char - это три разных типа. Фактически на практике char обычно эквивалентен signed char или unsigned char - зависит от компилятора (вернее, от настроек компилятора). Для облегчения переносимости есть стандартный заголовочный файл stdint.h, где задаются типы вроде int16_t (равно 16 бит), чтобы не зависеть от длины целых типов на разных платформах.
@ilyanh2037
@ilyanh2037 Год назад
Как говорится, "Си мы любим не за это" 😊
@andredru4278
@andredru4278 8 месяцев назад
Спасибо. Полезно и доходчиво!
@alexanderkroul4496
@alexanderkroul4496 Год назад
Огромное спасибо!
@twetowncity
@twetowncity Месяц назад
Есть вопрос, после компиляции программы с переменными ячейка памяти освобождактся или как?
@TSM_149
@TSM_149 Год назад
Спасибо! 👏👍
@zhenia14
@zhenia14 11 месяцев назад
Очень интересно, как можно проверить, что когда мы присваиваем значение одного итератора другому, что мы копируем его значение в другую ячейку памяти, а не ссылаемся ну туже самую ячейку.
@Jheronimus_Bosch
@Jheronimus_Bosch Год назад
Спасибо большое за Ваши выпуски! Скажите, а есть возможность задавать переменные как ссылки, как, например, в PHP или в Rust? Например, создавать $a = 5, $b = &$a, при этом они ссылаются на одну и ту же область памяти, и меняя $b, меняется и $a? Это могло бы повысить быстродействие и помогло бы реализовать отложенные вычисления, как сделано в PHP.
@Alexey-gp7vc
@Alexey-gp7vc Год назад
Погугли про указатели и/или дождись видео про них здесь. Это одна из ключевых штук :)
@selfedu_rus
@selfedu_rus Год назад
Конечно, это делается через указатели. Об этом далеко впереди )
@Jheronimus_Bosch
@Jheronimus_Bosch Год назад
@@selfedu_rus Спасибо!
@Jheronimus_Bosch
@Jheronimus_Bosch Год назад
@@Alexey-gp7vc Спасибо!
@grayich
@grayich Год назад
Непонятно по поводу *char* . Она как символ и она же как число. Правильно понимаю, что её создали для работы с символами, но потом посидели, почесали затылки и её же определили как однобайтовый тип для чисел, чтоб не плодить ещё 1 схожий тип данных но только для чисел? И отличие её от например short не только в размере, но и в умении конвертировать символ-число-символ? Получается тип char медленее типа short ?
@selfedu_rus
@selfedu_rus Год назад
нет, не так, в следующем видео я поясняю этот момент, скоро выйдет
@Dina-sc5ks
@Dina-sc5ks Год назад
Здравствуйте! Очень благодарна Вам за канал, за ваш труд. Вы можете записать видео по сегментации медицинских снимков? 🙏🙏🙏
@VitalyBessonov
@VitalyBessonov 7 месяцев назад
Занятно, получается тип "строка" в Си нет, а есть лишь набор символов каждый из которых хранится в одной ячейке из 8 бит? Бедный char в ответе за всё. И еще вопрос, при записи в память char как я понял 1 байт это минимально допустимое выделение памяти. Т.е. число 2 будет записано как 00000010. А можно ли в этом случае получать доступ к отдельному биту внутри ячейки байта?
@selfedu_rus
@selfedu_rus 7 месяцев назад
1. На самом деле все языки программирования "под капотом" так хранят строки. 2. Да, минимальный объем памяти один байт (как правило, 8 бит, но не всегда и зависит от архитектуры компьютера). 3. Для работы с отдельными битами используются битовые операции, о них отдельное занятие в этом курсе.
@VitalyBessonov
@VitalyBessonov 7 месяцев назад
@@selfedu_rus Благодарю Вас!
@РусланКарнеенко
@РусланКарнеенко 8 месяцев назад
спасибо
@AlexSochumski
@AlexSochumski Год назад
Sehr gut
@ДохлыйЁжик-з2б
@ДохлыйЁжик-з2б Год назад
А после курса по С, курс по плюсам будет?
@selfedu_rus
@selfedu_rus Год назад
он уже есть - это ооп С++
@mikhailiurin3823
@mikhailiurin3823 Год назад
У меня рядом с переменными в режиме отладки сообщение: byte_memory = 100 '. Почему такое может быть?
@zmirk
@zmirk 11 месяцев назад
Хм.. может, конечно, от компилятора зависит, но у меня char тоже по умолчанию знаковый, и после 127 идёт переполнение. А если указываю unsigned, то 128, 129 и т.д. уже нормально записывает.
@selfedu_rus
@selfedu_rus 11 месяцев назад
да, это зависит от компилятора
@olegkomlev
@olegkomlev 11 месяцев назад
Начинать имена обычных переменных с подчеркивания не следует, т.к. обычно так называются особые "системные" переменные.
@asjvchnvh9313
@asjvchnvh9313 Год назад
Вот только не понял, как в памяти хранится, знаковый или беззнаковый тип, хранятся же они одинаково
@selfedu_rus
@selfedu_rus Год назад
Хранятся биты, а как они интерпретируются, как знаковые числа или беззнаковые определяется типом данных.
@asjvchnvh9313
@asjvchnvh9313 Год назад
@@selfedu_rus а тогда возникает у меня ещё вопрос, вот значение переменной, в ячейке, скажем, так которая имеет адрес. Где тогда хранится тип переменной, и как все это вместе держится (тип и значение)
@Владимир-ж7в9ю
@Владимир-ж7в9ю 11 месяцев назад
На сколько я понял, на этапе компиляции появляются таблицы соответствия ячеек и типа хранящейся там информации. Но после создания исполняемого файла эти таблицы исчезают: в машинном коде их нет. Если посмотреть код на ассемблере объявления переменных типа long long, char, float - код явным образом различается для разных типов. Таким образом, информация о типе переменной в конкретной части памяти "встраивается" компилятором в сам машинный код.
@ceo-s
@ceo-s Год назад
long d; ))))
@he4esystem494
@he4esystem494 3 месяца назад
спасибо! Только char тоже знаковый
@selfedu_rus
@selfedu_rus 3 месяца назад
стандартом не оговорено, может быть и знаковым и беззнаковым
@jamjam3337
@jamjam3337 Год назад
спасибо!👏👍
@stolebyte2104
@stolebyte2104 Год назад
// Почему компилятор не ругается, если в "signed char a;" поместить число 128, // которое превышает диапазон от -128 до 127 // в отладчике будет a=-128 signed char a; a=128; // И для int аналогично int диапазон от -2 147 483 648 до 2 147 483 647 int x; x=2147483648; // в отладчике будет x=-2147483648
@selfedu_rus
@selfedu_rus Год назад
Возможно, из-за отсутствия флага -Wall в настройках компилятора gcc. А, вообще, это число просто будет храниться в a как -128
@Просточеловек-э6ы
@Просточеловек-э6ы 3 месяца назад
Спасибо👍
@well321321
@well321321 Год назад
Люблю вас и ваши уроки!🥰
@ИгорьК-т1ш
@ИгорьК-т1ш Год назад
В таблице стоило бы показать и беззнаковые типы и их диаппазоны, как мне кажется: unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long
@grayich
@grayich Год назад
09:29 _прастити_ , но оно не оранжевое )
@ШамильРамазанов-с9ю
Топчик
Далее
Kenji's Sushi Shop Showdown - Brawl Stars Animation
01:55