Write declarations for each of the following variables: a. amounts is an array of 8 longs b. net_inc is an array of 12 floats c. daily_tot is an array of 12 arrays of 31 ints d. names is an array of 12 pointers to arrays of 50 char Given that pi and pj are pointers to int, and ii and ij are ints, which of the following expressions are valid? a. pi + ii b. pi + pj c. pi++ d. pi - ii e. pi - pj Write your own definition of strcpy() using array notation. (This means write the code that implements the function. Refer to Appendix B for the strcpy() function prototype.) Write your own definition of strcpy() using pointer notation. Write a declaration, including arguments and result, for a two - dimensional version of strle n, that is, a function that receives an array of pointers to char and an array of size_t integers, and an int that specifies the number of elements in each array. (You don't need to write the actual function.) Write a function void shift(char *) that loo ks at the first character of its argument and converts the other characters, to be the same case, that is, if the first character is uppercase, it shifts the rest to uppercase; if the first character is lowercase, it shifts the rest to lowercase, and other wise, it does nothing.