以下是初始化字符数组的两种方式:
如果两者等效,我们预期每个人都会使用上述第一种选项(因为它需要较少的按键)。但是我看到过作者始终使用第二种方法的代码。
我猜测,在第一种情况下,字符串“foo”存储在数据段中,并在运行时复制到数组中,而在第二种情况下,字符存储在代码段中,并在运行时复制到数组中。由于某些原因,作者对数据段中的任何内容过敏。
编辑:假设这些数组在函数内部声明。
问题:我的推理正确吗?你更喜欢哪种风格?为什么?
char charArray1[] = "foo";
char charArray2[] = {'f','o','o','\0'};
如果两者等效,我们预期每个人都会使用上述第一种选项(因为它需要较少的按键)。但是我看到过作者始终使用第二种方法的代码。
我猜测,在第一种情况下,字符串“foo”存储在数据段中,并在运行时复制到数组中,而在第二种情况下,字符存储在代码段中,并在运行时复制到数组中。由于某些原因,作者对数据段中的任何内容过敏。
编辑:假设这些数组在函数内部声明。
问题:我的推理正确吗?你更喜欢哪种风格?为什么?