将 c char 指针复制到非指针 char

发布于 2024-11-06 13:47:51 字数 144 浏览 1 评论 0原文

这样做有什么问题吗?

char* field = new char[2];
field[0] = 'S';
field[1] = '\0';

char c = *field;

c 总是等于 'S' 吗?

Is there any problem on doing that?

char* field = new char[2];
field[0] = 'S';
field[1] = '\0';

char c = *field;

will c always be equal to 'S'?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

酒与心事 2024-11-13 13:47:51

没问题,c 永远是“S”。

No problem with that, c will always be 'S'.

堇色安年 2024-11-13 13:47:51

这完全没问题 - 并且 c 将始终等于“S”。取消引用 fieldchar 类型的指针将产生 char

This is totally fine - and c will always be equal to 'S'. Dereferencing field, a pointer of type char will result in a char.

萌面超妹 2024-11-13 13:47:51

有一个问题是 new char[2] 不是 C 语法。不过,总体思路是正确的:c 始终是“S”。

There is a problem in that new char[2] is not C syntax. The general idea is correct, though: c will always be 'S'.

著墨染雨君画夕 2024-11-13 13:47:51

这没有什么问题。当您取消引用该行中的字段数组时,

char c = *field;

您实际上要求的是数组第一个元素的值,在本例中为“S”。

There's nothing wrong with that. When you dereference the field array in the line

char c = *field;

what you're actually asking is for the value of the first element of the array, in this case 'S'.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文