
Думал сюда никто не заходит, а тут вон сколько понаписали....
Сообщение от
__mad
тоже самое только чутка покороче)
только что - покороче
Сообщение от
KEZ
char *buffer;
//...
memset(buffer, 0, sizeof(buffer)); // заполняем нашу память нулями
Чел? А ты в курсе, что sizeof(char*) == 4. или 8 на 64-битных пл-х. но никак не количеству байт, которые ты передавал malloc'у.
o_O Да, как-то не задумывался над этим, спасибо. Поправлю сейчас.
Сообщение от
KEZ
Я просто не понимаю, если ты основ С не знаешь, то почему бы не писать на делфи?
Я ведь написал, что опыта у меня МАЛО! Основы в голову сразу не ложатся, понимание приходит со временем. Не будь таким критичным, на ошибках учатся. Теперь я буду делать одной ошибкой меньше. А на счёт делфи... Делфи под Линуксом... Как-то нет желания.
Сообщение от
Forcer
в Си объявление переменных должно находиться до любого выполняемого кода.
Это правило хорошего тона - объявлять все переменные вначале программы. Переменная может быть объявлена в любом месте программы до её непосредственного использования. У меня все переменные объявлены ДО их непосредственного использования. Я намерено их объявил после проверки параметров. Зачем мне их объявлять перед функцией usage()? Ни одна из этих переменных ей не используется. usage() завершит выполнение программы если нет параметров, если же они есть, выполнение продолжится. Только в случае, если параметры заданы имеет смысл объявлять эти переменные.
Кстати, gcc не позволяет делать объявления после кода.
Код:
#include <stdio.h>
int main(){
char* buffer = "Hello, World!\n";
printf("%s", buffer);
return 0;
}
Код:
haos@localhost(01:33:40)~/Projects/test $ gcc -o test test.c
haos@localhost(01:35:42)~/Projects/test $ ./test
Hello, World!
haos@localhost(01:35:44)~/Projects/test $
Код:
#include <stdio.h>
int main(){
printf("%s", buffer);
char* buffer = "Hello, World!\n";
return 0;
}
Код:
haos@localhost(01:36:50)~/Projects/test $ gcc -o test test.c
test.c: In function ‘main’:
test.c:5: error: ‘buffer’ undeclared (first use in this function)
test.c:5: error: (Each undeclared identifier is reported only once
test.c:5: error: for each function it appears in.)
haos@localhost(01:37:07)~/Projects/test $