Pointers, like any other variables, must be declared before they can be used. For example, for the pointer countPtr
in Fig. 8.1, the declaration
int *countPtr, count;
declares the variable countPtr
to be of type int *
(i.e., a pointer to an int
value) and is read (right to left), “countPtr
is a pointer to int
.” Also, variable count
in the preceding declaration is declared to be an int
, not a pointer to an int
. The *
in the declaration applies only to countPtr
. Each variable being declared as a pointer must be preceded by an asterisk (*
). For example, the declaration
double *xPtr, *yPtr;
indicates that both xPtr
and yPtr
are pointers to double
values. When *
appears in a declaration, it’s not an operator; rather, it indicates that the variable being declared is a pointer. Pointers can be declared to point to objects of any data type.
Common Programming Error 8.1
Assuming that the * used to declare a pointer distributes to all names in a declaration’s comma-separated list of variables can lead to errors. Each pointer must be declared with the * prefixed to the name (with or without spaces in between). Declaring only one variable per declaration helps avoid these types of errors and improves program readability.
Good Programming Practice 8.1
Although it’s not a requirement, including the letters Ptr in a pointer variable name makes it clear that the variable is a pointer and that it must be handled accordingly.