C(++) How is argv a string array when its a char array : Why doesnt argv[0] print the first character of the filename instead of the whole filename string?

If argv is a pointer to an array of chars, then shouldnt accessing it with [n] result with a char? If its a string (as printf(argv[n]) suggests) then why doesnt argv[0][0] get me the first char of filename (compiles but crashes when started)?