======Project: Pointer Fun! ====== A project for CSCS 1320 by Paul Sechrist during the Spring 2013. =====Objectives===== This project is to help learn about pointers, what they are used for, and how to use them. =====Code===== ==== Pointer Fun 1 ==== #include #include int main() { char a, *b; a = 'a'; // what numeric value is being stored in the variable a? Why? b = &a; printf("a contains '%c'\n", a); printf("a's address is 0x%X\n", &a); printf("-----------------------\n"); printf("b dereferenced contains '%c'\n", *b); printf("b contains 0x%X\n", b); printf("b's address is 0x%X\n", &b); return(0); } ==== Pointer Fun 2 ==== #include #include int main() { char *a; a = (char *) malloc (sizeof(char)); *a = 48; //fprintf(stdout, "*a is %c\n", *a); return(0); } ==== Pointer Arrays ==== #include #include #define NUM_SCORES 5 #define SCORE0 87 #define SCORE1 92 #define SCORE2 97 #define SCORE3 83 #define SCORE4 79 int main() { unsigned char *scores; float average; scores = (unsigned char *) malloc (sizeof(unsigned char) * NUM_SCORES); *(scores+0) = SCORE0; *(scores+1) = SCORE1; *(scores+2) = SCORE2; *(scores+3) = SCORE3; *(scores+4) = SCORE4; /* Please provide the equation to do average of the scores */ //average = EQUATION TO DO AVERAGE /* Display the scores via array referencing and then the average. * %f can be used to display a floating point value. */ //fprintf(stdout, "YOUR FORMATTED TEXT STRING", LIST OF VARIABLES); return(0); } =====Execution===== =====Reflection===== ==== Pointer Fun 1 ==== * What do the variables a and b have in common? * Where do they differ? * If you change variable **a**, what will happen to **b**? * If you change variable **b**, will it impact **a**? * How can you change **b** without breaking things? ==== Pointer Fun 2 ==== * If we uncomment that **fprintf()** line, what will be displayed? * What is **malloc()** doing? * Why is it needed? =====References=====