动态分配内存问题!
struct stringy {
char *str;
int ct;};
怎样为这个结构里的str动态分配内存呀?
怎么把字符串赋给这个结构里的str呀?
//初始化结构
set (stringy &string, char *ps)
{
string.ct = strlen(ps);
strcpy (string, ps);
}
这样无法执行,我不知道怎么为str分配内存
结构是老师给出的,不能修改成 char str[size]的形式
各位老大,帮帮我这个小菜鸟吧
问题点数:20、回复次数:8Top
1 楼mccxj(老鼠不逛街)回复于 2005-06-02 17:46:05 得分 0
struct stringy {
char *str;
int ct;};
怎样为这个结构里的str动态分配内存呀?
怎么把字符串赋给这个结构里的str呀?
。。。是一个普通的指针变量而已。。Top
2 楼mccxj(老鼠不逛街)回复于 2005-06-02 17:47:14 得分 0
strcpy (string, ps);
这个当然不行了。。两个东西。。一个是个结构体。。一个是个简单的指针变量。。怎么能这样呢?Top
3 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-06-02 17:55:35 得分 10
set (stringy &string, char *ps)
{
string.ct = (char *)malloc(sizeof(char)*(strlen(ps)+1));
strcpy (string.ct, ps);
}Top
4 楼fangstone(石头城-但问耕耘,莫问收获)回复于 2005-06-02 17:56:08 得分 0
我打错了
是 strcpy(string.str, ps)
那究竟要怎么样才能初始化呀?Top
5 楼mccxj(老鼠不逛街)回复于 2005-06-02 18:02:27 得分 10
string.ct = (char *)malloc(sizeof(char)*(strlen(ps)+1));
strcpy (string.ct, ps);
注意一点就是.对于ps。。应该先分配内存
Top
6 楼fangstone(石头城-但问耕耘,莫问收获)回复于 2005-06-02 18:04:14 得分 0
我们是学的new呀,怎么要用malloc?
new 不行的吗?Top
7 楼CloudOfFly(追忆)回复于 2005-06-02 18:07:20 得分 0
关键是怎么样解决问题简单就用什么
c是C++的一个子集 不一定一定要用new 而不用mallocTop
8 楼daviddb7(红魔)回复于 2005-06-02 19:12:20 得分 0
new是C++的吧
拿到纯C的编译器下就不行了Top




