The correct answer is D. Declaration.

A variable declaration statement defines a variable and its type. It does not indicate whether a variable is passed by value or by reference.

A variable passed by value is a copy of the original variable. Any changes made to the copy do not affect the original variable.

A variable passed by reference is a reference to the original variable. Any changes made to the copy also affect the original variable.

The following code shows how to declare a variable and pass it by value:

``` int x = 10;

void foo(int y) { y = 20; }

foo(x);

// x is still 10 ```

The following code shows how to declare a variable and pass it by reference:

``` int x = 10;

void foo(int &y) { y = 20; }

foo(x);

// x is now 20 ```