Next: Combining Variable Declarations, Up: Variable Declarations [Contents][Index]
To declare a variable that is an array, write
variable[length] for decorated-variable:
int foo[5];
To declare a variable that has a pointer type, write
*variable for decorated-variable:
struct list_elt *foo;
These constructs nest. For instance,
int foo[3][5];
declares foo as an array of 3 arrays of 5 integers each,
struct list_elt *foo[5];
declares foo as an array of 5 pointers to structures, and
struct list_elt **foo;
declares foo as a pointer to a pointer to a structure.
int **(*foo[30])(int, double);
declares foo as an array of 30 pointers to functions
(see Function Pointers), each of which must accept two arguments
(one int and one double) and return type int **.
void
bar (int size)
{
int foo[size];
…
}
declares foo as an array of integers with a size specified at
run time when the function bar is called.