Some Basic C code i wrote while learning C
Go to file
Christoph J. Scherr be246e7ce4 move to cmake compile structure 2022-12-22 00:52:16 +01:00
huffman huffman commenting 2022-11-28 08:03:10 +01:00
src move to cmake compile structure 2022-12-22 00:52:16 +01:00
.gitignore makefile first upload WIP 2022-11-26 18:00:11 +01:00
LICENSE Initial commit 2022-11-24 14:43:03 +01:00
README.md README update 2022-11-26 21:53:56 +01:00
TODO.md added dump, makefile todo 2022-12-21 19:42:45 +01:00
abc.c upload of older code 2022-11-24 21:04:54 +01:00
adder.c upload of older code 2022-11-24 21:04:54 +01:00
args.c upload of older code 2022-11-24 21:04:54 +01:00
arrToBin.c better compile scripts, fixed some code 2022-11-24 22:20:17 +01:00
ascii.c upload of older code 2022-11-24 21:04:54 +01:00
calculator.c upload of older code 2022-11-24 21:04:54 +01:00
callreference.c upload of older code 2022-11-24 21:04:54 +01:00
compile-all.sh updated scripts to create bin dir, dividableBy7 name change 2022-11-25 23:17:55 +01:00
compile-and-run.sh updated scripts to create bin dir, dividableBy7 name change 2022-11-25 23:17:55 +01:00
compile.sh updated scripts to create bin dir, dividableBy7 name change 2022-11-25 23:17:55 +01:00
complex.c upload of older code 2022-11-24 21:04:54 +01:00
dividableBy7.c updated scripts to create bin dir, dividableBy7 name change 2022-11-25 23:17:55 +01:00
dump.c added dump, makefile todo 2022-12-21 19:42:45 +01:00
echo.c better compile scripts, fixed some code 2022-11-24 22:20:17 +01:00
echochar.c upload of older code 2022-11-24 21:04:54 +01:00
euler.c upload of older code 2022-11-24 21:04:54 +01:00
factorial.c upload of older code 2022-11-24 21:04:54 +01:00
fail.c compiler-script + return tests 2022-11-24 19:38:53 +01:00
fread.c upload of older code 2022-11-24 21:04:54 +01:00
hello-world.c upload of older code 2022-11-24 21:04:54 +01:00
options.c upload of older code 2022-11-24 21:04:54 +01:00
pointer-arithmetic.c upload of older code 2022-11-24 21:04:54 +01:00
pointermagic.c upload of older code 2022-11-24 21:04:54 +01:00
primenumbers.c upload of older code 2022-11-24 21:04:54 +01:00
quersumme.c upload of older code 2022-11-24 21:04:54 +01:00
readfile.c upload of older code 2022-11-24 21:04:54 +01:00
redefinition-if.c upload of older code 2022-11-24 21:04:54 +01:00
redefinition.c upload of older code 2022-11-24 21:04:54 +01:00
return-specified.c compiler-script + return tests 2022-11-24 19:38:53 +01:00
scanf-test.c fixed scanf-test 2022-11-24 21:39:41 +01:00
scnaf-hex-test.c upload of older code 2022-11-24 21:04:54 +01:00
signed-to-unsigned.c upload of older code 2022-11-24 21:04:54 +01:00
sizeofs.c upload of older code 2022-11-24 21:04:54 +01:00
success.c compiler-script + return tests 2022-11-24 19:38:53 +01:00
sum.c upload of older code 2022-11-24 21:04:54 +01:00
tabtest.c upload of older code 2022-11-24 21:04:54 +01:00
umlaut.c upload of older code 2022-11-24 21:04:54 +01:00
unary-double-not.c upload of older code 2022-11-24 21:04:54 +01:00
warning.c README update, warning.c commenting 2022-11-26 00:10:35 +01:00

README.md

c-basic

This Repository features C source code i wrote to learn the C programming language. Currently the most advanced program included is an unfinished implementation of the Huffman algorithm.

Some programs make use of outdated and unsafe functions such as gets() or scanf(), which should never be used. That is the case, because we were taught to use some of these in programming classes. Ideally, all uses of these unsafe functions should include a comment explaining why this is bad and also include and implemented alternative, but that may not always be the case.

All code in this Repository was written on and for a Linux x86_64 system. It might not work on other systems.

Makefile / Compiling

I have spent some time building a makefile. You can compile all source code using make. This will also generate some smaller testfiles for use with the Huffman implementation. In case you want to try Huffman with some bigger files, you can make your own or do make big to autogenerate the bigger files aswell.

Note:

scanf() is not inherently unsafe, but must be handled very careful and isn't recommended by most, so i have chosen to classify it as unsafe. If you know exactly what you are doing using scanf() seems to be acceptable. I consider the use of scanf() to be bad practice.