#include<stdio.h> #include<stdlib.h> typedef struct { char *ch; int length; }HString; void StrAssign(HString &T,char *chars); void StrLength(HString S); void StrCompare(HString S,HString T); void ClearString(HString &S); void Concat(HString &T,HString S1,HString S2); void SubString(HString S,int pos,int len); void main() { } void StrAssign(HString &T,char *chars) { if(T.ch) free(T.ch); for(i=0,c=chars;c;i++,c++); if(!i) { T.ch=NULL; T.length=0; } else { if(!(t.ch=(char *)malloc(i*sizeof(char)))) { printf("ERROR!\n"); return; } for(j=i;j>=1;j--) T.ch[j-1]=chars[j-1]; T.length=i; } } void StrLength(HString S) { printf("The length of String is:%d\n",S.length); } void StrCompare(HString S,HString T) { for(i=0;i<S.length&&i<T.length;i++) if(S.ch[i]!=T.ch[i]) }
数据结构—串的堆分配
时间: 2024-11-06 19:56:51