举个例子从代码说起
#include<stdio.h>
struct HString
{
char *ch; // 若是非空串,则按串长分配存储区,否则ch为NULL
int length; // 串长度
};
void StrPrint(HString T)
{ // 输出T字符串。另加
int i;
for(i=0;i<T.length;i++)
printf("%c",T.ch[i]);
printf("\n");
}
void StrCopy(HString &T,HString S)
{ // 初始条件:串S存在。操作结果:由串S复制得串T
StrPrint(T);
}
void InitString(HString T)
{ // 初始化(产生空串)字符串T。另加
T.length=5;
T.ch="hhhhh";
}
void main()
{
HString T;
T.ch = "asdf";
T.length = 4;
InitString(T);
StrPrint(T);
}