const char myVar*与const char myVar []

Joh*_*0te 5 c c++

可能重复:
使用字符指针和字符数组之间的区别

有什么区别:

const char* myVar = "Hello World!";
const char  myVar[] = "Hello World!";
Run Code Online (Sandbox Code Playgroud)

如果有的话?

Ben*_*ley 11

指针可以重新分配,数组不能.

const char* ptr = "Hello World!";
const char  arr[] = "Hello World!";

ptr = "Goodbye"; // okay
arr = "Goodbye"; // illegal
Run Code Online (Sandbox Code Playgroud)

此外,正如其他人所说:

sizeof(ptr) == size of a pointer, usually 4 or 8
sizeof(arr) == number of characters + 1 for null terminator
Run Code Online (Sandbox Code Playgroud)


Alo*_*ave 5

首先是一个指针.
第二个是数组.

系统中所有指针的大小都是相同的.
第二个声明中数组的大小与字符串文字的大小加上相同\0.

您可以将第一个指针指向同一类型的任何其他变量.
您无法重新分配阵列.