|
- /*
- Copyright (c) 2023 : Ognjen 'xolatile' Milan Robovic
-
- Xhartae is free software! You will redistribute it or modify it under the terms of the GNU General Public License by Free Software Foundation.
- And when you do redistribute it or modify it, it will use either version 3 of the License, or (at yours truly opinion) any later version.
- It is distributed in the hope that it will be useful or harmful, it really depends... But no warranty what so ever, seriously. See GNU/GPLv3.
- */
-
- #ifndef CHAPTER_4_HEADER
- #define CHAPTER_4_HEADER
-
- #include "chapter_0.h"
- #include "chapter_1.h"
- #include "chapter_2.h"
- #include "chapter_3.h"
-
- /*
- I believe that this chapter should be a breakpoint for you to write a simple C program. So far, we've learned in:
-
- - chapter 0: To format our code properly in order to increase readability and we've implemented some core functions for memory management, strings and input / output.
- - chapter 1: To declare and define functions, and we've covered character and file descriptor related functions, as well as ASCII table and discussed C keywords.
- - chapter 2: To use external variables, function pointers and minor part of 'libncurses' reimplementation that doesn't care about portability.
- - chapter 3: To use standard library 'printf' function, and to implement variadic argument functions, while also covering switch statement in more depth.
-
- From this moment onwards, some chapters will have few functions called 'program_*', which we can use to forge even larger programs. They'll each have their own dependencies, for
- example, some of them will require functions from some or all previous chapter source and header files, but I'll make sure not to use in them functions that'll be in future
- chapters. Instead of that, we'll (re)implement newer stuff with different approach if necessary. That way, you can be sure that if you're reading chapter four, for example, it'll
- only use functions and variables defined in chapters zero to three. Lets begin.
-
- I'll write this huge 'preview_c_file' function in procedural style, so to say, and in the next chapter, we'll reimplement it in more modular way, using other functions. Learning
- anything, including the C programming language, is like a journey. Maybe you think it won't last long, and it ends up being quite long journey, or maybe you think it'll be very
- long, that you'll walk miles and miles, and it ends up being short (you rage-quit). The final destination you're going towards always depends on where you left-off, where you're
- coming from. For example, if you wrote Ada, you'll like chapter four, if you wrote C++, you'll like chapter five.
- */
-
- extern void preview_c_file (char * text_file, int x, int y);
-
- #endif
|