Home > Article > Backend Development > What are the different ways the Ampersand Symbol (&) is used in C ?
Understanding the Ampersand Symbol (&) in C
The ampersand symbol (&) serves multiple purposes in C , creating confusion for beginners. One of its key functions is to take the address of a variable, a concept often associated with pointers. However, in certain scenarios, it can also serve other roles.
Taking the Address of a Variable
As expected, the & operator can be used to obtain the address of a variable, stored as a pointer to its location in memory. For instance:
int x; void* p = &x;
Here, the address of x is assigned to the pointer p.
Passing Arguments by Reference
When declaring a function parameter, & indicates that the argument is passed by reference. This means that modifications made to the parameter within the function will affect the original variable directly. By default, arguments are passed by value, creating a copy during function call. Passing by reference is beneficial for large objects or when modifying the original variable is desired.
void foo(CDummy& x); // x is passed by reference
Declaring Reference Variables
& can also be used to declare reference variables that refer to existing variables. Assignments made through a reference directly affect the original variable.
int k = 0; int& r = k; // r is a reference to k r = 3;
In this example, r is a reference to k, and changes made through r are reflected in k.
Additional Functions of &
Beyond these common uses, the ampersand operator has other functions as well:
The above is the detailed content of What are the different ways the Ampersand Symbol (&) is used in C ?. For more information, please follow other related articles on the PHP Chinese website!