stringfunction,请简单介绍Java中String构造函数的作用

1,请简单介绍Java中String构造函数的作用String s=new String("");String s="sfds";都可以
2 , Cstring函数内存溢出,一切都可能发生string2最多接收5个字符,string长度有21 , 你直接强制复制过去,那么一切皆有可能了 。你这个问题太难了,我也答不出 来 , 你可以咨询一下问问专业团体,也许他们会有你想要的答案 。谢谢!同意楼上,因为汉字编码的问题,一个汉字是2个BYTE 。上面的解释是对的,内存空间发生了循环.string先分到内存空间,string2后分到,因为是局部变量,被分到栈区中,因此string2在string的前面,申请了5个字节,但是由于栈对齐的原因,在这里例子里面,二者距离就是8个字节 , 也就是string2里可以放8个字节 , 而它的第9个字节就是string[0]了 。这样你从string复制到string2,可以认为就是把每个字符都前移了8个字节,包括字符串的结束符/0 。最后的结果你会发现从string2开始识别的字符串就是原串,而从string开始,就是“五”了,(前面每个汉字都占两个字节)复制之前复制之后
3,c字符串string函数就是字符串的操作了哈用string很简单就可以实现了#include <iostream>#include <string>using namespace std;int main() string claNo = "zx09081T"; string stuNo; cout << "Input a student Number:"; cin >> stuNo; for ( int i =0;i < claNo.size();i++) if( claNo[i] == stuNo[i] ) continue; else cout << " Not same class!" << endl; break; } } return 0;}这个很简单 没那么复杂 你要看看string#include <iostream>#include <string>using namespace std;int main() string classNo = "zx09081T"; string stuNo; cout << "Input a student Number:"; cin >> stuNo; for ( int i =0;i < classNo.size();i++) if( classNo[i] == stuNo[i] ) continue; else cout << " Not same class!" << endl; break; } } system("pause"); return 0;}【stringfunction,请简单介绍Java中String构造函数的作用】

    推荐阅读