读书人

怎么给一个指向自身的结构中用指针定义

发布时间: 2012-02-13 17:20:26 作者: rapoo

如何给一个指向自身的结构中用指针定义的字符串中的某一个字符赋值?
形如:
struct mStruct
{
char *data;
struct mStruct *next;
}*myStruct;

现在
想为data字符串中字符挨个赋
另一个字符串中的某个指定的值

赋值语句应该怎么写呢?



[解决办法]
myStruct-> data=(char*)malloc(strlen(str)+1);
strcpy(myStruct-> data,src);
-----------------------------
myStruct-> next=myStruct;
[解决办法]
myStruct = (struct mStruct*)malloc(sizeof(struct mStruct));
myStruct-> data = (char*)malloc(10*sizeof(char));
myStruct-> next = myStruct; // 指向自身

strcpy(myStruct-> data, "test ");
[解决办法]
char* getstr(char* str, char ch)
{
int iLen=strlen(str), iCnt=0;
for (int i=0; i <iLen; ++i) if (str[i]==ch) ++iCnt;
str = (char*)malloc(iCnt+1);
memset(str,iCnt,ch);
str[iCnt]=0;
return str;
}

void main()
{
char *source= "testmypatient ";
char *data = getstr(source);
printf(data);
free(data);
}

读书人网 >C语言

热点推荐