Язык Си для начинающих / #3 - Массивы данных

  Рет қаралды 205,348

Гоша Дударь

Гоша Дударь

Күн бұрын

Пікірлер: 137
@mihail8159
@mihail8159 9 ай бұрын
Начал учить язык си , спасибо за уроки !! Очень нравиться заниматься с тобой ..
@SAM-t6k7s
@SAM-t6k7s 3 жыл бұрын
Спосибо за детальное обаснение Просьба , продолжить такие уроки про массивы.
@a.v.ivanov4030
@a.v.ivanov4030 2 жыл бұрын
Качество твоих видеолекций просто потрясает, я смотрел в ванне эти уроки, я ощутил глобальность этого языка, его многогранность, содержательность, я проникся даже расцветкой команд, содержанием каждой команды. Я испытал эстетическое наслаждение от языка программирования C. Настолько он математичный, симметричный, последовательный, логичный. Твои видеоуроки - это замечательно для того, чтобы начать. Здесь основы. Здесь базис.
@xeither289
@xeither289 Жыл бұрын
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
@your_china
@your_china Жыл бұрын
Расцветка не имеет отношения к языку)
@kst5161
@kst5161 11 ай бұрын
Не могу не отметить шикарность этого комментария)
@tonkua
@tonkua 4 жыл бұрын
очень круто. Доступно и понятно. Спасибо огромное за труды
@xeither289
@xeither289 Жыл бұрын
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
@alex-end3371
@alex-end3371 Ай бұрын
Спасибо! Всё понятно и очень просто)
@МихаилБавыка
@МихаилБавыка 3 жыл бұрын
Коли Ви створюєте рядок за допомогою фігурних дужок треба в кінці додавати елемент масиву символ кінця рядка '\0'. Ось так: char slovo[] = {'S', 'l', 'o', 'v', 'o', '\0'}; 🙂
@luckyman9325
@luckyman9325 2 жыл бұрын
Хорошая лекция. Хотелось бы посмотреть на инициализацию и работу с массивом строк, именно строк.
@xeither289
@xeither289 Жыл бұрын
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
@your_china
@your_china Жыл бұрын
@@xeither289 Тебе нужно создать двумерный массив для этого
@dmitriyshaykovskiy221
@dmitriyshaykovskiy221 4 жыл бұрын
Спасибо за видео! Все очень круто объясняешь!
@xeither289
@xeither289 Жыл бұрын
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
@programer8
@programer8 4 жыл бұрын
char word[ ] = {'s', 'o', 'm', 'e'}; char words[ ] = "Hello World"; не одно и тоже. В первом случае это одном. массив символов, во втором случае это строка. Разница между ними состоит в том что строка в памяти заканчивается нулевым байтом, когда как массив символов - нет. Чтобы из массива символов создать строку нужно в конце добавить '\0';
@Архип-ш1н
@Архип-ш1н 3 жыл бұрын
нулевым битом, не?
@vip51000
@vip51000 3 жыл бұрын
@@Архип-ш1н байтом
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
Добавлю и поясню. Строку в кавычках компиляторы си автоматически помещают в char* и добавляют последним - нуль байт hex 0x00, (char)'\0', (int)00 - asc-II. Зачем оно надо? Это очень удобно. Половина функций по работе со строками работают, опираясь на то, что программист не забывает правильно создавать строки на си, добавляя этот нуль байт. Этот тригер позволяет писать алгоритм, например, цикл, который будет проходить по всей строке, пока байт строки не равен нулю. Это выглядит, как-то так: // strlen - возвращает длину строки в байтах/однобайтовых // символах, не включая 0x00, значением до unsigned long long int size_t strlen(char* str) { size_t res = 0; while (*(str+res)) {++res;} return res; } Без нуль байта подобные функции из string.h будут выдавать вам всякие сегментэйшн фаулты, краши или просто будут работать неправильно.
@userunknown545
@userunknown545 2 жыл бұрын
надо зигануть? ну ладно) \0
@xeither289
@xeither289 Жыл бұрын
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
@Максим-ъ8о7н
@Максим-ъ8о7н 3 жыл бұрын
Уроки суперские как для новичка. Да, некоторые особенности языка не обговорены. Для этого есть канал Хирьянова, где все изучно более подробно
@Lorem-ry7zo
@Lorem-ry7zo 2 жыл бұрын
можно ссылочку?
@МихасСупре
@МихасСупре 3 жыл бұрын
Спасибо!
@boristsaikin1
@boristsaikin1 3 жыл бұрын
Молодец. Спасибо!
@supercolder5994
@supercolder5994 Жыл бұрын
Начинал с C# , сейчас изучаю C , необходимо по работе и удивляюсь сколько же плюшек вложили в язык наследник и насколько же он более высокоуровневый по сравнению с C, писать на C# это как водить машину, а перейти на C как будто залезть под капот этой самой машины, очень многие моменты стали очевидны и откуда они все таки взялись
@Jxckman
@Jxckman 5 ай бұрын
тоже самое только с питоном
@mathew9794
@mathew9794 3 жыл бұрын
спасибо
@alexflanker25
@alexflanker25 3 жыл бұрын
initialize - инициализировать. инициировать - дать старт к.-л. процессу. Например, я инициирую обучение русскому языку=))
@linage_trf
@linage_trf 2 жыл бұрын
ахапхпхаха
@rixon8136
@rixon8136 8 ай бұрын
12:53 мне не понравилось как ты объяснил про дву мерные массивы, спросил у ии, он ответил так: Это массив у которого каждый элемент так же является массивом. Это гениально и просто но лайк поставлю, ты же старался
@iminputlag
@iminputlag 3 жыл бұрын
Чётко, скоро стану погромистом, жди меня диджитал Про рандомно сгенерированные данные я сам как нибудь выучу.
@ГеоргийТрубецкой-й8й
@ГеоргийТрубецкой-й8й 3 жыл бұрын
Слишком поверхностно. Не объяснил, как переставить местами элементы массива, как сделать замену элемента массива, как узнать индекс элемента массива и пр.
@ИльяБанзюк-ф1т
@ИльяБанзюк-ф1т 3 жыл бұрын
Он в начале курса сказал чтобы глубже выучить или на сайте смотри или сам читай
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
Это у Хирьянова есть подробно
@МихаилБавыка
@МихаилБавыка 3 жыл бұрын
Шановний Гоша, масиви в C та C++ заповнюються автоматично нулями тільки в тому випадку, якщо масив оголошений як глобальний, тобто за межами функції main. 🙂
@AndriiSavonik
@AndriiSavonik 3 жыл бұрын
Дякую
@big_goku
@big_goku 4 жыл бұрын
Гоша, можешь запилить видео , как сделать динамический строковый массив?
@refeilodev4117
@refeilodev4117 4 жыл бұрын
Вот такой вариант на Си, написал на ходу: typedef struct string { char *data; size_t size; size_t cap} str_t; str_t new_string(size_t size) { str_t str; str.size = size; str.data = (char*)malloc(size * sizeof(char)); str.cap = size + size / 2; return str;}
@refeilodev4117
@refeilodev4117 4 жыл бұрын
Но вообще мутить такие структуры на Си это одни костыли и геморой. В С++ благодаря ооп и перегрузке операторов можно реализовать гораздо удобное решение
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
words[1] == масло масляное. За такой нейминг в подворотне можно получить в бубен, потому что IDEшка может подсказывать, что есть такой массив, а фактически это только однобайтовая переменная. а левый программист может прийти на проект и попытаться вылезти за границу этого массива.
@Лайкозавр-ф6й
@Лайкозавр-ф6й 9 ай бұрын
Почему не показали запись текста в массив путём get_int и потом вывод этих цифр по одной в каждой строке?
@champchamp7951
@champchamp7951 4 жыл бұрын
Спасибо, помог!
@mksmvnv
@mksmvnv Жыл бұрын
а почему не показали, как вывести весь массив чисел и весь двумерный массив через принтф?( а не только один символ.
@hewston2733
@hewston2733 4 жыл бұрын
Как-то я упустил момент, с каких это пор в С и С++ у элементов массива появились значения по умолчанию?
@МихаилБавыка
@МихаилБавыка 3 жыл бұрын
Автор відео трохи не правий. 🙂 Масиви в C та C++ заповнюються автоматично нулями тільки в тому випадку, якщо масив оголошений як глобальний, тобто за межами функції main. 🙂
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
ну если каллоком заполнять динамику, тогда да, будут значения))
@ВладимирКапалбаев-пропутешеств
@ВладимирКапалбаев-пропутешеств 3 жыл бұрын
11:15 - не понятно, почему мы используем букву s. В предыдущем уроке Вы говорили, что для типа переменных char мы используем букву 'c' (английская). Массив же words у нас объявлен как char. Тогда почему вместо %c мы пишем %s?
@ПаблоМакедонский
@ПаблоМакедонский 3 жыл бұрын
чтобы вывести на экран целый массив
@artemsidorov7324
@artemsidorov7324 2 жыл бұрын
c - это один символ(char ) s - это строка(string)
@PostMapping
@PostMapping 4 жыл бұрын
После джавы все уже знакомы)
@гульбанудосалиева-м3э
@гульбанудосалиева-м3э 4 жыл бұрын
Ты тожэ джаву изучял и забил?
@PostMapping
@PostMapping 4 жыл бұрын
@@гульбанудосалиева-м3э наоборот, изучаю все глубже и глубже....
@Ostup_Burtik
@Ostup_Burtik 3 жыл бұрын
@@PostMapping и после Python:-7
@yatik5166
@yatik5166 2 жыл бұрын
В каком редакторе кода вы работаете?
@askarasadullin1418
@askarasadullin1418 Жыл бұрын
Это Xcode
@topfilms6224
@topfilms6224 3 жыл бұрын
Так много инфы сложно)!🤯
@Ostup_Burtik
@Ostup_Burtik 3 жыл бұрын
Если хотеть то несложно. Я изучил Python и хочу виучить C.
@АдиАди-ь8р
@АдиАди-ь8р 4 жыл бұрын
можно спросить а какой шрифт используется в IDE?
@АртурКулик-ш3с
@АртурКулик-ш3с 2 жыл бұрын
SF Mono medium
@Starkmander
@Starkmander 3 жыл бұрын
А возможно ли вывести весь массив чисел на экран,а не только по элементам?
@СергейКолесников-з2и
@СергейКолесников-з2и 3 жыл бұрын
Да, для одномерного массива возможно сделать его вывод поэлементно таким образом: int main() { int arr[]={3, 4, 5}; printf("arr=|%d %d %d|", arr[0], arr[1], arr[2]); return 0; }
@sofiasapsan1977
@sofiasapsan1977 2 жыл бұрын
Да, с помощью цикла: for(int i = 0; i
@ivaaahn
@ivaaahn 4 жыл бұрын
Покажи-ка место в стандарте, где написано, что у переменных С есть значения по умолчанию.
@МихаилБавыка
@МихаилБавыка 3 жыл бұрын
Автор відео трохи не правий. 🙂 Масиви в C та C++ заповнюються автоматично нулями тільки в тому випадку, якщо масив оголошений як глобальний, тобто за межами функції main. 🙂
@rubinum_pof
@rubinum_pof 3 жыл бұрын
зачем после числа добавляем f, если мы уже указали, что тип данных float?
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
читабельность кода лучше.
@kunimzhi
@kunimzhi 2 жыл бұрын
@@leogscdlr2894 То есть необязательно добавлять f?
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
@@kunimzhi необязательно. Скорее полезно для читабельности кода, а на функциональность не влияет
@rainbowice341
@rainbowice341 2 жыл бұрын
Никогда не думал, что буду искать помощи в комментах на ютубе, но из-за того что в интернете нет нормальной информации,крч,как посчитать сумму элементов строки двумерного массива?Я понимаю, что здесь могут сидеть умные люди поэтому прошу вас ПОООМАГИТЕ
@hunter-bg1bb
@hunter-bg1bb 3 жыл бұрын
Как прога называется, где он код пишет
@dmytrokhymytsia5036
@dmytrokhymytsia5036 3 жыл бұрын
Xcode скорее всего
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
@@dmytrokhymytsia5036 да, маковский икскод
@Vorhida
@Vorhida 8 ай бұрын
кто из школы 21?
@JohnJTraston
@JohnJTraston Жыл бұрын
Нет никаких "значений по умолчанию". Ты там массив на стеке создал, если не проинициализировал, то будет мусор.
@nerikproton6512
@nerikproton6512 3 жыл бұрын
почему тут не говорится про рандомно сгенерированные массивы?
@archiljghenti2865
@archiljghenti2865 4 жыл бұрын
Как называется ваш текстовый редактор?
@yukinakiu739
@yukinakiu739 4 жыл бұрын
Block::Code for Mac
@shometyle
@shometyle 3 жыл бұрын
консоль кс
@axysor
@axysor 4 жыл бұрын
Инициализировать.
@dmitriyshaykovskiy221
@dmitriyshaykovskiy221 4 жыл бұрын
15:37 считаешь массивы 1,2,3, хотя при выводе данных в консоль, далее 16:30 - говоришь, что счет начинается с 0 . по логике должно быть int array [2][3]=...??? или я что-то не так понял?
@chample1
@chample1 4 жыл бұрын
У него в двумерном массиве 3 столбца и 3 ряда, поэтому матрица получается array[3][3]
@МаріяСметанюк-ю1р
@МаріяСметанюк-ю1р 3 жыл бұрын
@@chample1 матрицу и ряды считаем не с 0?
@chample1
@chample1 3 жыл бұрын
@@МаріяСметанюк-ю1р с 0
@Архип-ш1н
@Архип-ш1н 3 жыл бұрын
в первом случае у нас размерность массива, а во втором он говорит про индексы, если я сам правильно понял.
@chample1
@chample1 3 жыл бұрын
@@Архип-ш1н Скорее всего, что так и есть
@ФишкиОтАйтишника
@ФишкиОтАйтишника 4 жыл бұрын
Здравствуйте, помогите, пожалуйста, написать программу, которая решает систему уравнений с x и y, включает ввод переменной альфа. Система уравнений : x = (sin(2*альфа) + cos(пи/альфа +1))/3+tg(альфа) ; y = e^( - альфа ) + sin^2(альфа + 1) . Спасибо.
@user-qe7md6tb5l
@user-qe7md6tb5l 4 жыл бұрын
Чо первокурсник, да?
@БогданСладков-г4г
@БогданСладков-г4г 4 жыл бұрын
Так у тебя не система, а просто 2 уравнения, в каждом из которых переменная альфа. Инициализируешь альфу, x и y, как float, подгружаешь библиотеку с мат. функциями, пишешь scanf функцию для ввода альфы, потом твои выражения, а потом printf(ответ)
@ФишкиОтАйтишника
@ФишкиОтАйтишника 4 жыл бұрын
@@БогданСладков-г4г , спасибо !
@evgeniichikishev2096
@evgeniichikishev2096 4 жыл бұрын
А как вывести на экран целый массив?
@ИванБудилов-д5ш
@ИванБудилов-д5ш 3 жыл бұрын
printf ("%s", words);
@aaoei511
@aaoei511 Жыл бұрын
Буквочка)
@kingdomgames4383
@kingdomgames4383 2 жыл бұрын
я не чоень понял,что значит %s?
@NIVLON
@NIVLON 4 жыл бұрын
Я до этого урока всё время писал вырибле а можно было не писать
@yukinakiu739
@yukinakiu739 4 жыл бұрын
Люди которые пишут char *var = "Вошли в чат";
@robbarret9568
@robbarret9568 3 жыл бұрын
Что за редактор?
@QuerroShooterov
@QuerroShooterov 3 жыл бұрын
маковский xcode
@user-qe7md6tb5l
@user-qe7md6tb5l 4 жыл бұрын
Слишком мало информацыии, где к примеру сортировка?
@impala-rc6zb
@impala-rc6zb 3 жыл бұрын
А где заполнение их рандомное ?
@Chernaya0k0niga
@Chernaya0k0niga 4 жыл бұрын
Int arr[5] = {5, 6, 7, 2, 56,}; Если с 0 начинается счет, то получается в фигурных у нас если считать с 0, то получаетя 0,1,2,3,4. Почему мы пишем тогда arr[5]
@miklyxamaklaiy112
@miklyxamaklaiy112 4 жыл бұрын
ЭМ, ты же сам нанписал 6 чисел.... 0 1 2 3 4 5
@Chernaya0k0niga
@Chernaya0k0niga 4 жыл бұрын
@@miklyxamaklaiy112 случайно, там без 89
@miklyxamaklaiy112
@miklyxamaklaiy112 4 жыл бұрын
@@Chernaya0k0niga бывает)
@Архип-ш1н
@Архип-ш1н 3 жыл бұрын
@@Chernaya0k0niga потому что исчисление индексов (номеров переменных в массиве) начинается с 0, а в квадратных скобках указывается число индексов, если бы правило начала отсчета с 0 распространялось бы и на скобки, то сделать пустой массив невозможно,
@МихаилБавыка
@МихаилБавыка 3 жыл бұрын
Тому що ми пишемо не номер останнього елементу, а загальну кількість елементів масиву, а потім вже з нуля можемо їх діставати. 🙂
@itsking8378
@itsking8378 11 ай бұрын
digga das beste
@gavrilihin
@gavrilihin 4 жыл бұрын
Автор мало знает про язык C. У переменных нет значений по умолчанию
@whoami.f1
@whoami.f1 4 жыл бұрын
Есть, но только если они создаются в глобальном пространстве.
@gavrilihin
@gavrilihin 4 жыл бұрын
@@whoami.f1 подтверждаю, но это не тот случай.
@ДмитрийШевченко-у5ь
@ДмитрийШевченко-у5ь 4 жыл бұрын
Этот автор не знает толком ни один язык, но видеоуроков наклепал по всему чему только можно
@refeilodev4117
@refeilodev4117 4 жыл бұрын
pastenamehere Профи сишник скажет что по умолчанию присвоить значение без кода можно только в сегменте данных, а гоша здесь все переменные определяет в функции значит они используют память в стэке. Если он выведет элемент в стеке без присваивания то он получит значение переменной которая до этого лежало на этом месте стэка.
@codingposture
@codingposture 3 жыл бұрын
Ого с и с++ похожи
@kotomen_2019
@kotomen_2019 3 жыл бұрын
чел и ты серьёзно этого не знал? c++ это же улучшеный c
@codingposture
@codingposture 3 жыл бұрын
@@kotomen_2019 точнее с++ это с только есть ООП
@kotomen_2019
@kotomen_2019 3 жыл бұрын
@@codingposture ну ООП очень помогает даже например работа с игроками персонажами и т д
@codingposture
@codingposture 3 жыл бұрын
@@kotomen_2019 ну да
@kotomen_2019
@kotomen_2019 3 жыл бұрын
@@codingposture ксатате где можно найти нормальный компилятор под c++
@viktornikolaev1826
@viktornikolaev1826 2 жыл бұрын
10:28
@ArmOva-007
@ArmOva-007 Жыл бұрын
Добрый день , подскажите как все таки вывести в printf весь масив из цифр я пишу так и он всегда последнее значение показывает , но не все . выглядит так printf("%d",arr[5, 7, 2, 56, 34, 89]) а по итогу только 89 показывает в cmd .
@гульбанудосалиева-м3э
@гульбанудосалиева-м3э 4 жыл бұрын
Он не читает коменты😀
@hey2956
@hey2956 4 жыл бұрын
Привет
@lagglite3180
@lagglite3180 4 жыл бұрын
Любишь свою маму? Подписка - да Игнор - нет
@МолокоТин
@МолокоТин 4 жыл бұрын
Как меня бесят такие дегроеды
@forest9106
@forest9106 2 жыл бұрын
Спасибо
Каха и лужа  #непосредственнокаха
00:15
Ice Cream or Surprise Trip Around the World?
00:31
Hungry FAM
Рет қаралды 10 МЛН
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 123 МЛН
Адреса и указатели в Си. Адресная арифметика
27:47
Тимофей Хирьянов
Рет қаралды 166 М.
Изучение C++ для начинающих / #7 - Массивы данных (одномерные и многомерные)
26:09
7 Лет Опыта в IT | Что я Понял?
19:56
Vlad Mishustin
Рет қаралды 219 М.
Двумерные массивы в Си: обычные и динамические
21:49
Тимофей Хирьянов
Рет қаралды 74 М.
1. Язык Си ДЛЯ НОВИЧКОВ. RPG игра с нуля
1:01:47
Айтишник 👩‍💻
Рет қаралды 38 М.
Язык Си для начинающих / #6 - Функции в Си
20:09
Гоша Дударь
Рет қаралды 116 М.
Каха и лужа  #непосредственнокаха
00:15