So I understand that the array name represents the first address of the array. Thus, printf("%d", name5); should return an address. However, I realized printf("\n%d", &name5); returns the same address as the previous expression.
Does &name5 represent "address of an address"? How does this work?
I also realized this &array_name syntax wouldn't work on malloc. Would appreciate any explanation why this may be the case.
char name5[10] = "Matt";
printf("%d", name5);
printf("\n%d", &name5);
//char* name2 = (char*)malloc(10);
//scanf("%s", &name2); // &pointer
//printf("%s", name2); //error