lrpd.net
当前位置:首页 >> C++ ChAr数组初始化 >>

C++ ChAr数组初始化

初始化和赋初值并不是一回事。初始化是由编译器语句完成的,形成.exe文件后那些初始化结果已经在某个地方放着,不需要再占用执行时间了;赋初值是由C/C++语句完成的,每次启动.exe文件都要执行一遍,所以要占用代码的执行时间。比如:char a[20]...

这个 是指针,直接取数组的地址,给这个指针就是了 ~ ~ ~ ~

有多种方式可以赋值。 (1)声明和初始化同时进行,例如: const char a[5]={'X','Y','Z','1','2'}; (2)把它看成字符串,用 strcpy 赋值,例如: strcpy(a,"abcde"); (3)用 memcpy 把另一个数组里的值传给它 memcpy(a,b,5); (关键注意 a[i]...

这样做例如char str[32]="";指向一个空的常量,很好用的 不懂还可以问,懂了求accept 电脑我懂你团队为您服务

你这样写本身就是不对的。你的这里输入五个字符,并且以字符串的形式进行赋值,字符串以'/0'结尾,所以就越界了。你可以这样赋值 str[4][5]={'A','B','C','D','E'}; 或者str[4][5]={"ABCD","E"};

char *pNumbers = { "one", "two", "three", "four" }; cout

C++如何用构造函数初始化字符串数组: 比如有这样一个类: Class XXX { int a; char c[10]; }; 方法: XXX::XXX(int num, cosnt char* str){ a = num; strcpy(c, str);}

仔细检测下程序,cha[3]是否在其他地方赋值过。或者cout

你用的是std::string么?如果是,这样: strcpy(Line, input.c_str());//就可以了,当然除了strcpy外,完全可以使用strncpy,这样更加安全。

简单的可以使用memcpy,举个例子 #include #include int main(int argc, char *argv[]) {char a[30];char b[25]="abcdefgagh";memcpy(a,b,strlen(b));//a使用字串形式打印a[strlen(b)]='\0';printf("a=%s\n",a);return 0;}

网站首页 | 网站地图
All rights reserved Powered by www.lrpd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com