C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C字符串操作指针与数组表示法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > getting segmentation fault in a small c program3个
为什么第一个版本会导致程序崩溃,而第二个版本却没有?他们不是一回事吗?

指针表示法

char *shift = "mondo";
shift[3] = shift[2];

数组表示法

char shift[] = {'m','o','n','d','\0'};
shift[3] = shift[2];
@H_947_3@mWE

int main( void )
{
    char *shift = "mondo";
    shift[3] = shift[2];

    char shift[] = {'m','\0'};
    shift[3] = shift[2];

    return 0;
}

@L_673_2@

没有!这是C中的重要问题之一.首先,您创建一个指向内存只读部分的指针,即您无法更改它,只能读取它.第二个,创建一个字符数组,即连续字符的内存的一部分,您可以同时具有读取和写入访问权限,这意味着您可以读取和更改数组的值.

大佬总结

以上是大佬教程为你收集整理的C字符串操作指针与数组表示法全部内容,希望文章能够帮你解决C字符串操作指针与数组表示法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。