This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
blog:spring2016:aslater1:journal [2016/04/17 19:09] – [April 12, 2016] aslater1 | blog:spring2016:aslater1:journal [2016/05/05 00:39] (current) – [May 4, 2016] aslater1 | ||
---|---|---|---|
Line 146: | Line 146: | ||
proj[i] = something; | proj[i] = something; | ||
</ | </ | ||
- | WILL **NOT** SEGFAULT | + | WILL **NOT** SEGFAULT |
+ | i is typically the incremental value ( so you don't really use it for the declaration), | ||
+ | ====April 19, 2016==== | ||
+ | Holy wall of text, Batman! \\ | ||
+ | Here's the thing: it turns out if you initialize an array with an index of 0, you're going to have a bad time. Which makes since because you're saying that you want to store zero elements. That's why it will crash and burn when you run the program. \\ \\ In more relevant news, I actually went back through and fixed what may have been the most inefficient program ever. Instead of having main make the array, I just opened the file in each one of my functions (4 times). That was just the beginning, as there were nested loops and a million variables with no point. \\ \\ I went back through and had main put all the values in the array, and then passed the pointers to the functions. This way I didn't have to open and close the file, and the math turned out to be a lot easier. The code itself is way less complex, and I managed to cut down on more than 40 lines of superfluous garbage. In other words, I think I'm //finally// starting to embrace pointers. Just in time for the semester to be over! | ||
+ | ====May 2, 2016==== | ||
+ | So I've been doing the stuff. | ||
+ | \\ \\ I used some(a lot) switch cases in the project. They took a little to get used to, but they' | ||
+ | \\ \\ Por Ejemplo: | ||
+ | <code c 1> | ||
+ | switch (pineapple_pizza) | ||
+ | { | ||
+ | case 1: | ||
+ | printf(" | ||
+ | break; | ||
+ | case 2: | ||
+ | printf(" | ||
+ | break; | ||
+ | case 3: | ||
+ | printf(" | ||
+ | break; | ||
+ | case 4: | ||
+ | printf(" | ||
+ | break; | ||
+ | default: | ||
+ | printf(" | ||
+ | exit(1); | ||
+ | } | ||
+ | </ | ||
+ | Where the "case #" is referring to the condition you're checking for. Don't forget the '':'' | ||
+ | ====May 4, 2016==== | ||
+ | Oh man, I just had all of the breakthroughs. | ||
+ | \\ \\ Turns out, if you're compiling multiple c files, and you simply use | ||
+ | < | ||
+ | gcc file1.c file2.c file3.c -o combinedfiles | ||
+ | </ | ||
+ | Your functions won't be able to " | ||
+ | \\ \\ | ||
+ | So, when using multiple files you can just throw the above into a header file (making sure to include it in main). When you compile the c files functions work! | ||
+ | <code c 1> | ||
+ | #ifndef HEADERFILE_H_ | ||
+ | #define HEADERFILE_H_ | ||
+ | |||
+ | int stuff(char this, char that); | ||
+ | |||
+ | #endif | ||
+ | </ | ||
======UNIX/ | ======UNIX/ | ||
====January 25, 2016==== | ====January 25, 2016==== | ||
Line 286: | Line 333: | ||
7664 | 7664 | ||
</ | </ | ||
+ | ====April 20, 2016==== | ||
+ | Oh man, I can't remember the last time I submitted a Unix project on time. Not gonna lie, it feels pretty good. I think this was the first time I made, by myself, an actual complex-ish shell script. It doesn' | ||
+ | To get the values for the project portion I used an array, and I tried comapring it the way I'm used to, something like | ||
+ | < | ||
+ | array[index] | ||
+ | .... | ||
+ | array[i] = stuff | ||
+ | </ | ||
+ | but it just got too complicated. So, what I ended up doing instead is this: | ||
+ | < | ||
+ | array=(`command to get all the values of said array into a space separated list`) | ||
+ | </ | ||
+ | I actually did 2 arrays this way, and incremented through them both with a cool for loop. That being said...: | ||
+ | < | ||
+ | ${arr[*]} | ||
+ | ${!arr[*]} # All of the indexes in the array | ||
+ | ${#arr[*]} # Number of items in the array | ||
+ | ${#arr[0]} # Length of item zero | ||
+ | </ | ||
+ | with more information here [[http:// | ||
+ | \\ Yes.\\ | ||
+ | \\ Escape sequences are pretty cool. Unfortunately my c program now looks dull by comparison. \\ | ||
+ | | ||
+ | Wow, I feel like its been forever since I've done one of these. \\ So I've been working on the eoce and its been going ' | ||
+ | <code bash 1> | ||
+ | if [ some condition ]; then | ||
+ | whatever | ||
+ | fi | ||
+ | </ | ||
+ | Is the correct syntax for an if statement, don't have anything touch the brackets(besides ;), either.\\ \\ If there' | ||
+ | What if there' | ||
+ | <code bash 1> | ||
+ | if [ some condition ]; then | ||
+ | whatever | ||
+ | elif [ some other condition ]; then | ||
+ | whatever | ||
+ | elif [ another condition ]; then | ||
+ | whatever | ||
+ | else ## | ||
+ | whatever | ||
+ | fi | ||
+ | </ | ||
+ | What if you want a COMPOUND if statement, ie if this AND/OR this? | ||
+ | <code bash 1> | ||
+ | if [ some condition ]; then | ||
+ | whatever | ||
+ | elif [ some condition ] || [ another condition ]; then | ||
+ | whatever | ||
+ | elif [ some condition ] && [ other condition ]; then | ||
+ | whatever | ||
+ | fi | ||
+ | </ |