可能重复:
使用字符指针和字符数组的区别
有什么区别
const char* myVar = "Hello World!";
const char myVar[] = "Hello World!";
如果有?
指针可以重新分配,数组不能。
const char* ptr = "Hello World!";
const char arr[] = "Hello World!";
ptr = "Goodbye"; // okay
arr = "Goodbye"; // illegal
此外,正如其他人所说:
sizeof(ptr) == size of a pointer, usually 4 or 8
sizeof(arr) == number of characters + 1 for null terminator
第一个是指针
第二个是数组。
系统中所有指针的大小都将相同
第二个声明中数组的大小与字符串文字加上