![]() |
1
1
答案完全取决于所讨论的语言。但C语言通常是一种很好的语言,可以看到幕后的事情是如何发生的。
幕后str[0]=='h'(有一个int值),str[1]=='e'。。。 字符只是一个可以包含256个值之一的数字。每个字符都有一个数值。
字符串的支持方式与C相同,但也有
字符串文字是静态存储的一部分,不能直接更改,除非您需要未定义的行为。
在C#: 字符串是不可变的。这意味着一旦创建了字符串,就不能直接更改它。当您执行+=时,将创建一个新字符串,您的字符串现在引用该新字符串。 |
![]() |
2
1
2.
这是一个相当粗略的概述,但希望能给你大致的想法。 在某些语言/计算机中,char!=字节—例如,C#,其中字符串默认以Unicode格式存储,特别是字符串的长度也存储在内存中。C++通常使用空终止的字符串,它以另一种方式解决问题,尽管它意味着确定其长度为O(n)而不是O(1)。 |
![]() |
3
0
它非常依赖于语言。但是,在大多数情况下,字符串是 immutable ,这样做将分配一个新字符串并释放旧字符串的内存。 |
![]() |
4
0
我假设您的示例中有一个输入错误,并且只有一个变量叫做foo或myString,而不是两个变量?
|
![]() |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
![]() |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
Manan Girdhar · 拆分字符串并仅在java中使用第二部分 2 年前 |
![]() |
AnxiousLuna · Python使用len()获取数组索引数 2 年前 |
![]() |
antonoyaro8 · 数据帧中每列上的Grepl 2 年前 |