0

pointers c

void swap(int *num1, int *num2){ int temp; temp = *num1; *num1 = *num2; *num2 = temp; } int main(){ int num1 = 2, num2 = 9; swap(&num1, &num2); printf("First num %d, second num %d \n", num1, num2); return 0; } Why i need to use '*' here temp = *num1; *num1 = *num2; *num2 = temp; when i also use '*' for arguments

7th Jun 2020, 8:43 PM
tibi
tibi - avatar
2 Answers
+ 2
The inputs for the swap function are pointers to integers num1 and num2, which are pointing to the addresses of them. The function needs to access and change the values in those addresses. Therefore, we use the asterisks. Asterisks are used to get values in the addresses which are pointed by pointers.
7th Jun 2020, 9:02 PM
ogoxu
ogoxu - avatar