Model solutions to Exam2 practice questions. Problems 1 and 2 - We'll go over those in class. 3. int and float are both variable types in C. An int is an integer, meaning it can have only integral values (e.g., 0, 1, 2, ... and -1, -2, ...). float is a decimal type, so it can have values like 1.347 or 3.14159. 4. A pointer is a variable that "points" to another variable. The way this works is that the value of the pointer variable is the memory address of some other variable. This is used to change variables that are outside of a function, from inside of the function. Also, arrays are basically just pointers to the beginning of some block of memory. A pointer variable is declared like int *x; And would be set to the memory address of another variable, like x = &y; Then if you set *x to something, like *x = 2; Then it really changes the value of y. 5. A buffer overflow is when a program writes into memory that is not its own. A common way this happens is with arrays. If you declare an array like, int A[100]; then you have allocated space for 100 arrays. But what if you try to do, A[200] = 5; When the program tries to do that, it is accessing memory that is probably for some other variable, and that could "mess things up". One way that hackers can try to make your program have a buffer overflow is if you use scanf to read a string, and they type more characters than you have allocated for your string. 6. In exam2Practice6.c 7. In exam2Practice7.c 8. In exam2Practice1Fixed.c 9. In exam2Practice2Fixed.c