psi*_*lia 16 c arrays string pointers
我期待以下两个向量在RAM中具有相同的表示:
char a_var[] = "XXX\x00";
char *p_var = "XXX";
Run Code Online (Sandbox Code Playgroud)
但奇怪的是,f(char argument[])如果我调用它,对类型库函数的调用会破坏正在运行的应用程序f(p_var).但使用还f(a_var)可以!
为什么?
小智 28
第一个创建包含字符串的char数组.可以修改数组的内容.第二个创建一个指向字符串文字的字符指针.字符串文字无法修改.