Identify the form of storage for each of the variables in the following program. When is the storage created? Freed?
#include <stdlib.h> int n = 7; int foo(int); int main() { int *k; n = 5; foo(n); k = (int *) malloc(sizeof(k)); *k = 3 free(k) return 0; } char s[] = "this is a test"; int foo(int i) { int j = i - 1; n = n+1; if (j <= 0) return 0; else return foo(j); }