Alexander
Так мне как раз для самообучения и надо какой-то ресурс. Чтоб до уровня Джуна подтянуть.
Я в курсе по аналитике на Я.Практикуме проходил. Но забывается быстро
SexNbaKef
Какие задачи?
https://sql-academy.org/ru/trainer?sort=byId
Andrii
Подскажите кто-то, как сделать массив переменной длины, без указателей. VLA чет у меня не пашет. Си
Если у тебя C99, то там можно объявлять массивы на стеке примерно так void test(int n) { int arr[n]; for (int i=0; i<n; ++i) { arr[i] = 2 * i; } } Но это надо компилировать как-то gcc -std=c99 test.c
Andrii
О, я идею придумал. Щас попробую
Вообще, выделяется под массив примерно так: int * ptr = malloc(sizeof(int) * 10); int * ptr2 = calloc(sizeof(int), 10); // Initialized by zeros instead malloc free(ptr);
SexNbaKef
Там ответы платные
Ineffable
В месяц?
SexNbaKef
На пол года
SexNbaKef
Но там все про скуль
SexNbaKef
+ сертификат, если кто-то течёт от них
Igor
На степике был курс по скулю выше обсуждали но там только майскуль
Igor
И да и нет. 😀
Andrii
Так значит это я компилировал не так. Спасибо, помогли
Ну... стандартом является C89 общепринятым на сегодня. Более того, код C89 совместим с C++. А расширения стандарта C99 уже не совместимы с C++. Не говоря отом, что этот стандарт долгое время не поддерживала M$, и яне уверен, поддерживают ли они его сейчас :)
SexNbaKef
И да и нет. 😀
Язык запросов везде одинаковый, что мс скуль, что постгри, что оракл
Vladislav
Та бл, все равно ниче не пашет)
Ineffable
Это на реляционых базах sql токо
Igor
Язык запросов везде одинаковый, что мс скуль, что постгри, что оракл
Ну вот давай не будеи устраивать спор на пустом месте. В майскуле нет апплай и фул джойна. В постгре есть фильтрация у агрегаций и тд и тп и все это части стандарта который нигде не реализован в полном объеме.
Vladislav
Мне просто интересно, почему у него работает такое, а у меня нет
Igor
Если ты используешь селект и джойн то да везде одинаково.
Andrii
Язык запросов везде одинаковый, что мс скуль, что постгри, что оракл
Какое-то базовое подмножество да, но в целом различаются. Более того, чтобы получить преимущества нужной тебе базы надо эти отличия использовать. Какой прок в Oracle если импользовать только базовый SQL?
Vladislav
Надо флаг компиляции установить -std=c99
устанавливал, не того. Может я тупой, а может и не я
Andrii
устанавливал, не того. Может я тупой, а может и не я
Попробуй из командной строки и дай вывод
Vladislav
Попробуй из командной строки и дай вывод
оно та работает, но не так как нада
SexNbaKef
Мы сейчас говорим только про базовый скуль
Igor
оно та работает, но не так как нада
Что за задача вообще нафига тебе переменный размер массива. Выдели по богатому и не парься.
Igor
Мы сейчас говорим только про базовый скуль
Что такое базовый? Чем apply full join не базовый?
Vladislav
Попробуй из командной строки и дай вывод
Должно принимать цифр = первому числу. Но принимает 1)
Vladislav
А отладку не сделаешь, потому что MVS не пропускает такой код)
Igor
Вообще пока с майскулем не столкнулся не знал что может не быть этого в запросе. Дрочь.
Andrii
gdb?
Vladislav
Andrii
$ cat test-arr.c #include <stdio.h> int main() { int N; scanf("%d", &N); int arr[N]; return 0; } $ gcc -std=c99 test-arr.c -o test-arr avs@andrii-home:~/sandbox$ ./test-arr; echo "Exit code is $?" 10 Exit code is 0
Vladislav
evgheniй
подскажите плз, установил реакт компоненты (npm), но вот смотрю еще два файла у менторов есть в редакторе, это (external libraries, scratches and consoles) где их брать и как устанавливать? спасибо!
Andrii
?
Отладчик такой, например, вот я отладил свой код: $ gcc -std=c99 -O0 -ggdb test-arr.c -o test-arr $ gdb ./test-arr Reading symbols from ./test-arr...done. (gdb) b main Breakpoint 1 at 0x6eb: file test-arr.c, line 4. (gdb) r Starting program: /home/avs/sandbox/test-arr Breakpoint 1, main () at test-arr.c:4 4 { (gdb) n 6 scanf("%d", &N); (gdb) n 10 7 int arr[N]; (gdb) p N $1 = 10 (gdb) n 8 return 0; (gdb) n 9 } (gdb) n __libc_start_main (main=0x5555555546da <main>, argc=1, argv=0x7fffffffde28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde18) at ../csu/libc-start.c:344 344 ../csu/libc-start.c: No such file or directory. (gdb) c Continuing. [Inferior 1 (process 16532) exited with code 0] (gdb)
Andrii
Ну это VS Code, она не знает про существование стандарта C99 наверное. Или надо смотреть, как ей об этом сказать...
SexNbaKef
Что такое базовый? Чем apply full join не базовый?
Это по поводу оракла. По поводу апли и фулл джойна с ходу не скажу, ибо не использую. Должно, по логике, работать
Vladislav
(:
Igor
Господи да он компилит мэйн запускает а
E.D.
Там если что на Джавараш скидон за 100 бачей отдают год
evgheniй
подскажите плз, установил реакт компоненты (npm), но вот смотрю еще два файла у менторов есть в редакторе, это (external libraries, scratches and consoles) где их брать и как устанавливать? спасибо!
Andrii
У меня нэту gdb
Я бы советовал поставить... А у тебя что за компилятор C? mingw?
Andrii
mingw-get.exe install gdb
Vladislav
mingw-get.exe install gdb
ОО, установился
Vladislav
(:
Andrii
ОО, установился
Теперь gdb твоя-крутая-прога
Vladislav
Теперь gdb твоя-крутая-прога
Нада только с ней теперь разобраться
Andrii
И дальше r cmd line arguments — запустить программу, b — установить брекпойнт, после него может идти имя функции или имя файла и номер строки через двоеточие. n следующая строка s step into, зайти в функцию, finish выйти из функции, p распечатать выражение, c продолжить выполнение, ...
Andrii
угу
b main — поставить точку останова на фукнции main r — запуск программы, которая останавливается на main l — распечатать чутка больше исходника n — следующий шаг p N — напечатать значение переменной N Такие примеры
Vladislav
тупой винда)
Vladislav
ой
Vladislav
No executable specified, use `target exec'.
Andrii
No executable specified, use `target exec'.
Как запускал? gdb you-cool-staff.exe?
Vladislav
(:
Andrii
Не, надо exe-шник
Andrii
Ты вообще не читаешь, что тебе пишут?
Vladislav
аа, так 1 команда компилирует?
Andrii
$ gdb wskjgnkwjngkjw wskjgnkwjngkjw: No such file or directory. Вот для кого эта надпись: No such file or directory
Vladislav
Заработало
Andrii
gcc -std=c99 test-arr.c -o test-arr Это компиляция
Andrii
Компилятор — одна программа, отладчик — другая
Andrii
Философия Unix в том, что программа должна уметь делать что-то одно, но хорошо.
Vyacheslav
Ну это VS Code, она не знает про существование стандарта C99 наверное. Или надо смотреть, как ей об этом сказать...
Ну у MVS же в сеттингах стандарты языка переключаются А чо в СИ правда можно длину массива переменной объявить? Типа дай мне кусочек стека, а сколько именно байтиков я те потом скажу?