Problem : Write a function that takes pointers to two integers and swaps the values stored at those addresses.void swap(int *a, int *b)
Problem : Why doesn't this function swap the values correctly?
Problem : Write a function which takes an array of 5 integers and sets all the values to 0.
Problem : Write a function void set_to_NULL(char **ptr); which takes a pointer to a pointer to a character and sets the memory at that address to NULL.
Problem : CHALLENGE: Write a swap function that doesn't use a temporary variable for storage. Hint: use the XOR operator. Are there any cases in which this won't work?void swap(int *a, int *b) This won't work if a and b both point to the same memory.