为什么以下代码的输出是这样的?
char str[] = {'i', 't', 'i', 's', 'm', 'e', '\0'}; //this code equates to 7 bytes
char* str[] = {'i', 't', 'i', 's', 'm', 'e', '\0'}; //this code equates to 28 bytes
Run Code Online (Sandbox Code Playgroud)
此代码不符合您的想法.它使用char
常量来初始化char*
指针数组的元素.这样的"指针"并不指向你的角色; 相反,它们具有相应字符的数值!
系统上的每个字符指针都是4个字节长,这解释了结果.
归档时间: |
|
查看次数: |
683 次 |
最近记录: |