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

  Рет қаралды 25,765

selfedu

selfedu

Күн бұрын

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

Пікірлер: 51
@stepanbrop9888
@stepanbrop9888 Жыл бұрын
Изучаю у Вас SQLite .. Уже не знаю, куда ставить второй лайк на видео) Четко, без воды, понятно и доступно! И ни за какие курсы платить не надо! ВЫ-ЛЕГЕНДА! Я Вам очень сильно благодарен за такую работу! Всем добра и счастья!)
@user-gp8gv5lu8r
@user-gp8gv5lu8r 5 ай бұрын
Лучший курс по Си, который видел
@ivanovv9329
@ivanovv9329 2 ай бұрын
Это настолько углублённый и разжёванный курс, что поймёт даже пятилетка! Огромное спасибо за проделанную работу. Ваши старания абсолютно бесплатно, за что тройной респект. Если бы вы были инфоцыганом, заманивающим аудиторию на свои курсы, я бы с радостью на них записался! С моим мнением согласны многие, судя по комментариям. Всего вам наилучшего
@ГубкаБоб-р8ъ
@ГубкаБоб-р8ъ Жыл бұрын
Ура! Новый урок! Посмотрел с удовольствием. Знаю немного пайтон, очень интересно посмотреть на программирование со стороны языка С. Спасибо большое
@campillius
@campillius 9 ай бұрын
same here :)
@siarheiulas6969
@siarheiulas6969 3 ай бұрын
Большое спасибо за работу! Просмотр материала - удовольствие!
@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 бит), чтобы не зависеть от длины целых типов на разных платформах.
@Dina-sc5ks
@Dina-sc5ks Жыл бұрын
Здравствуйте! Очень благодарна Вам за канал, за ваш труд. Вы можете записать видео по сегментации медицинских снимков? 🙏🙏🙏
@well321321
@well321321 Жыл бұрын
Люблю вас и ваши уроки!🥰
@andredru4278
@andredru4278 8 ай бұрын
Спасибо. Полезно и доходчиво!
@ilyanh2037
@ilyanh2037 Жыл бұрын
Как говорится, "Си мы любим не за это" 😊
@he4esystem494
@he4esystem494 2 ай бұрын
спасибо! Только char тоже знаковый
@selfedu_rus
@selfedu_rus 2 ай бұрын
стандартом не оговорено, может быть и знаковым и беззнаковым
@user-iy5kd3tz3d
@user-iy5kd3tz3d Жыл бұрын
В таблице стоило бы показать и беззнаковые типы и их диаппазоны, как мне кажется: unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long
@alexanderkroul4496
@alexanderkroul4496 Жыл бұрын
Огромное спасибо!
@twetowncity
@twetowncity Ай бұрын
Есть вопрос, после компиляции программы с переменными ячейка памяти освобождактся или как?
@user-rt6hg3sx5v
@user-rt6hg3sx5v 3 ай бұрын
Спасибо👍
@TSM_149
@TSM_149 Жыл бұрын
Спасибо! 👏👍
@jamjam3337
@jamjam3337 Жыл бұрын
спасибо!👏👍
@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 Жыл бұрын
нет, не так, в следующем видео я поясняю этот момент, скоро выйдет
@user-xm5zl9up4r
@user-xm5zl9up4r 7 ай бұрын
спасибо
@zhenia14
@zhenia14 10 ай бұрын
Очень интересно, как можно проверить, что когда мы присваиваем значение одного итератора другому, что мы копируем его значение в другую ячейку памяти, а не ссылаемся ну туже самую ячейку.
@user-kb8nl1vz1i
@user-kb8nl1vz1i 7 ай бұрын
Занятно, получается тип "строка" в Си нет, а есть лишь набор символов каждый из которых хранится в одной ячейке из 8 бит? Бедный char в ответе за всё. И еще вопрос, при записи в память char как я понял 1 байт это минимально допустимое выделение памяти. Т.е. число 2 будет записано как 00000010. А можно ли в этом случае получать доступ к отдельному биту внутри ячейки байта?
@selfedu_rus
@selfedu_rus 7 ай бұрын
1. На самом деле все языки программирования "под капотом" так хранят строки. 2. Да, минимальный объем памяти один байт (как правило, 8 бит, но не всегда и зависит от архитектуры компьютера). 3. Для работы с отдельными битами используются битовые операции, о них отдельное занятие в этом курсе.
@user-kb8nl1vz1i
@user-kb8nl1vz1i 7 ай бұрын
@@selfedu_rus Благодарю Вас!
@AlexSochumski
@AlexSochumski Жыл бұрын
Sehr gut
@user-zw1kh1di9h
@user-zw1kh1di9h Жыл бұрын
А после курса по С, курс по плюсам будет?
@selfedu_rus
@selfedu_rus Жыл бұрын
он уже есть - это ооп С++
@olegkomlev
@olegkomlev 11 ай бұрын
Начинать имена обычных переменных с подчеркивания не следует, т.к. обычно так называются особые "системные" переменные.
@zmirk
@zmirk 11 ай бұрын
Хм.. может, конечно, от компилятора зависит, но у меня char тоже по умолчанию знаковый, и после 127 идёт переполнение. А если указываю unsigned, то 128, 129 и т.д. уже нормально записывает.
@selfedu_rus
@selfedu_rus 10 ай бұрын
да, это зависит от компилятора
@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
@user-xr1sr4pz4z
@user-xr1sr4pz4z Жыл бұрын
Топчик
@mikhailiurin3823
@mikhailiurin3823 Жыл бұрын
У меня рядом с переменными в режиме отладки сообщение: byte_memory = 100 '. Почему такое может быть?
@ceo-s
@ceo-s Жыл бұрын
long d; ))))
@asjvchnvh9313
@asjvchnvh9313 Жыл бұрын
Вот только не понял, как в памяти хранится, знаковый или беззнаковый тип, хранятся же они одинаково
@selfedu_rus
@selfedu_rus Жыл бұрын
Хранятся биты, а как они интерпретируются, как знаковые числа или беззнаковые определяется типом данных.
@asjvchnvh9313
@asjvchnvh9313 Жыл бұрын
@@selfedu_rus а тогда возникает у меня ещё вопрос, вот значение переменной, в ячейке, скажем, так которая имеет адрес. Где тогда хранится тип переменной, и как все это вместе держится (тип и значение)
@user-hq9qk8rj9g
@user-hq9qk8rj9g 11 ай бұрын
На сколько я понял, на этапе компиляции появляются таблицы соответствия ячеек и типа хранящейся там информации. Но после создания исполняемого файла эти таблицы исчезают: в машинном коде их нет. Если посмотреть код на ассемблере объявления переменных типа long long, char, float - код явным образом различается для разных типов. Таким образом, информация о типе переменной в конкретной части памяти "встраивается" компилятором в сам машинный код.
@grayich
@grayich Жыл бұрын
09:29 _прастити_ , но оно не оранжевое )
هذه الحلوى قد تقتلني 😱🍬
00:22
Cool Tool SHORTS Arabic
Рет қаралды 99 МЛН
АЗАРТНИК 4 |СЕЗОН 1 Серия
40:47
Inter Production
Рет қаралды 1,3 МЛН
Throwing Swords From My Blue Cybertruck
00:32
Mini Katana
Рет қаралды 11 МЛН
Урок 51  Абстрактный класс и модуль ABC
11:01
IT House Community
Рет қаралды 1 М.
Добро пожаловать в C++
16:08
Winderton
Рет қаралды 464 М.
КРИПТОГРАФИЯ С НУЛЯ. НАЧАЛО
26:10
Alek OS
Рет қаралды 275 М.
هذه الحلوى قد تقتلني 😱🍬
00:22
Cool Tool SHORTS Arabic
Рет қаралды 99 МЛН