Car*_*ndo 4 c++ arrays byte char
char firstName[32];
Run Code Online (Sandbox Code Playgroud)
我知道每个char占用内存中的1个字节.那么上面占用了32个字节的内存吗?
我错过了一个占用内存的指针,还是只有32个字节?
Jam*_*ran 11
不,这占用了大约32个字节的内存.没有指针.
这通常是一个混乱的领域,因为数组名称默默地"衰变"为"char*"
char* fname = firstName;
Run Code Online (Sandbox Code Playgroud)
所以,firstName
可能是类型const char*
,但它本身不是char*变量.它完全像:
int x = 5;
Run Code Online (Sandbox Code Playgroud)
x
是int变量并占用空间. 5
另一方面,只是int类型的常量值.它没有空间; 这只是一个价值.