diff options
Diffstat (limited to 'c.html.markdown')
| -rw-r--r-- | c.html.markdown | 33 | 
1 files changed, 17 insertions, 16 deletions
| diff --git a/c.html.markdown b/c.html.markdown index 3d632eab..8226ddef 100644 --- a/c.html.markdown +++ b/c.html.markdown @@ -76,7 +76,7 @@ int main (int argc, char** argv)    ///////////////////////////////////////    // Types    /////////////////////////////////////// -   +    // All variables MUST be declared at the top of the current block scope    // we declare them dynamically along the code for the sake of the tutorial @@ -148,15 +148,10 @@ int main (int argc, char** argv)    printf("Enter the array size: "); // ask the user for an array size    int size;    fscanf(stdin, "%d", &size); -  char buf[size]; -  fgets(buf, sizeof buf, stdin); - -  // strtoul parses a string to an unsigned integer -  size_t size2 = strtoul(buf, NULL, 10); -  int var_length_array[size2]; // declare the VLA +  int var_length_array[size]; // declare the VLA    printf("sizeof array = %zu\n", sizeof var_length_array); -  // A possible outcome of this program may be: +  // Example:    // > Enter the array size: 10    // > sizeof array = 40 @@ -318,6 +313,12 @@ int main (int argc, char** argv)    case 1:      printf("Huh, 'a' equals 1!\n");      break; +    // Be careful - without a "break", execution continues until the +    // next "break" is reached. +  case 3: +  case 4: +    printf("Look at that.. 'a' is either 3, or 4\n"); +    break;    default:      // if `some_integral_expression` didn't match any of the labels      fputs("error!\n", stderr); @@ -345,8 +346,8 @@ int main (int argc, char** argv)    https://ideone.com/GuPhd6    this will print out "Error occured at i = 52 & j = 99."    */ -   -   + +    ///////////////////////////////////////    // Typecasting    /////////////////////////////////////// @@ -445,7 +446,7 @@ int main (int argc, char** argv)    for (xx = 0; xx < 20; xx++) {      *(my_ptr + xx) = 20 - xx; // my_ptr[xx] = 20-xx    } // Initialize memory to 20, 19, 18, 17... 2, 1 (as ints) -   +    // Note that there is no standard way to get the length of a    // dynamically allocated array in C. Because of this, if your arrays are    // going to be passed around your program a lot, you need another variable @@ -721,13 +722,13 @@ typedef void (*my_fnp_type)(char *);  /******************************* Header Files ********************************** -Header files are an important part of c as they allow for the connection of c  -source files and can simplify code and definitions by seperating them into  +Header files are an important part of c as they allow for the connection of c +source files and can simplify code and definitions by seperating them into  seperate files. -Header files are syntaxtically similar to c source files but reside in ".h"  -files. They can be included in your c source file by using the precompiler  -command #include "example.h", given that example.h exists in the same directory  +Header files are syntaxtically similar to c source files but reside in ".h" +files. They can be included in your c source file by using the precompiler +command #include "example.h", given that example.h exists in the same directory  as the c file.  */ | 
