指针和数组之间的区别

Ume*_* MS 10 c c++

可能重复:
char*str ="STRING"和char str [] ="STRING"之间的区别?
C:指针和数组之间的差异

嗨,

谁能告诉我下面的陈述之间的区别?

char *p = "This is a test";

char a[] = "This is a test";
Run Code Online (Sandbox Code Playgroud)

Dan*_*anS 7

当你声明char p []时,你声明了一个chars数组(可以读取和写入),并且这个数组被初始化为一些字符序列,即"T​​his is test"被复制到这个数组中的元素.

当你声明char*p时,你声明一个直接指向某个常量文字的指针 - 而不是副本.这些只能被阅读.


Ben*_*oit 5

a是一个数组,这意味着您可以使用sizeof()运算符a并且sizeof(a)/sizeof(a[0])等于数组长度.

p 是指向常量内存区域的指针.