Chapter 8:Review Questions ========================== :: T F 1. A pointer contains the address of the object to which it points. T F 2. The ***** character, when defining a declaring a pointer, is read "pointer to". T F 3. Any pointer can point at anything; the type specifier is merely used for documentation. T F 4. If **msg** is a character pointer, then **msg = "A Literal"**; will copy the string literal **"A Literal"** into the area pointed to by **msg**. T F 5. All arithmetic done with pointers is scaled to the size of the object being pointed to. T F 6. If a pointer variable is used as an actual argument when calling a function, then the compiler passes the address of where the pointer is located, not a copy of the pointer itself. T F 7. If two ***** characters are used when defining a variable, it is a pointer to another pointer. T F 8. The variable names **argc** and **argv** are reserved and can only be used with the **main()function**. T F 9. The type of the expression **(*++argv)[0]** is character. T F 10. Code that subscripts a pointer outside the defined boundaries of the array may compile, but logically be in error. T F 11. The definition **(*what_is_this())()** is that of a function returning a pointer to an array of integers. 12. Which pair of the following statements are equivalent? a. *value[1]; *(value + 1); b. **value; *value; c. *value[2]; (*value++)++; d. *value; 13. What is wrong with the following code fragment? char code[] = "This is a secret message..."; main() { int checksum = 0; while ( *code ) { checksum += *code; ++code; } } a. The array name "code" cannot be incremented. b. Characters cannot be added. c. The ***** operator cannot be used with a character array name. d. The loop will not terminate since a logical FALSE will never occur. 14. A null pointer can be described as: a. The same as **void ***. b. A "special" pointer that is typically used to flag an error or a termination indicator for arrays. c. A pointer that points to a binary zero in memory. d. Exactly the same as a logical FALSE value. 15. A good application for using an array of pointers is when: a. The objects pointed to are different data types. b. One of the objects must be passed to a function. c. The design indicates indirect addressing of the objects pointed to. d. The objects are integers, which are always the same as pointers. 16. When the variable **argv** is passed to **main()** it references: a. A string array. b. An array of pointers to the command line arguments (strings). c. Characters passed from the command line. d. All command line arguments beginning with the character "-".