相关疑难解决方法(0)

关于C中的字符指针

考虑这个定义:

char *pmessage = "now is the time";
Run Code Online (Sandbox Code Playgroud)

在我看来,pmessage将指向内存中包含这些字符的连续区域和最后一个字符'\0'.所以我从中得出,只要我在这个区域的范围内,我就可以使用指针算法来访问该字符串中的单个字符.

那么为什么他们说(K&R)修改个别角色是不确定的?
此外,为什么当我运行以下代码时,我得到一个"分段错误"?

*(pmessage + 1) = 'K';
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

4
推荐指数
2
解决办法
6740
查看次数

尝试设置char数组的字符时程序崩溃

我得到了我的程序这种奇怪的行为,我无法弄清楚.我的教授在我的程序中向我展示了一个缺陷,我只是在构造一个对象时复制一个char指针,而不是制作整个数组的新副本,所以你可以随意使用它.他用类似的代码证明了这一点.

对于代码:

char sweat[] ="Sweater";
warenkorb = new WareImKorb(new Textil (205366,4.2,sweat,40),2,warenkorb);
sweat[0] = '\0';
Run Code Online (Sandbox Code Playgroud)

现在,如果我改为:

char* sweat ="Sweater";
Run Code Online (Sandbox Code Playgroud)

该程序运行良好,直到我尝试汗[0] ='\ 0'; 它只是简单的.

然而,这有效:char cc [] ="Sweater"; char*sweat = cc;

它真的很烦我,我不明白,为什么版本1不起作用.希望你们能帮助我,否则我会疯狂地想知道这件事.

c++ char

1
推荐指数
1
解决办法
1443
查看次数

标签 统计

arrays ×1

c ×1

c++ ×1

char ×1

pointers ×1