char* is a pointer to a character and char stringname[] is an array of characters buffer overflows aren't intrinsic to the types you mentioned, a lot of them happen with insecure functions like gets if the array is larger than the buffer you get a buffer overflow