#include#include#define status int
#define true 1
#define false 0
typedef structhstring;
//用字串常量初始化s
int strassign(hstring *s, const char *chars)
if(!i)
else }
s->length=i;
return 1;
}//用變數初始化s
int strassign(hstring *s, char *chars)
if(i==0)
else
s->length=i;
return 1;
}//比較串s和串t,s>t返回值》0,相等返回0,ss.length || len<0 || len>s.length-pos+1)
return 0;
sub->ch=(char*)malloc(len*sizeof(char));
if(!sub->ch) return 0;
for(i=0;ich[i]=s.ch[pos+i];
sub->length=len;
return 1;
}//用t返回s1和s2組成的字串
int concat(hstring *t,hstring s1,hstring s2)
for(i=0;ich[s1.length+i]=s1.ch[i];
} t->length=s1.length+s2.length;
return 1;
}void strdisplay(hstring s)
s->length=0;
return 1;
} //在串的第pos個字元之前插入串t,即pos位開始元素往後移動
注意:如果clearstring中的引用ch使用了』.』,則會報錯
則此處需要使用『->』來引用成員ch ,即:s->ch;
如果非指標型別的「hstring」變數用『->』來引用成員,則會報錯
則對於非指標型別『hstring』引用結構成員的時候,只能用『.』
最下面注釋的那一段的執行結果
串的堆分配儲存表示
串的堆分配儲存表示 方法仍然以一組位址連續的儲存單元表示,但它們的儲存 空間是在程式執行過程中動態分配的。堆串型別定義 typedef strcut hstring hstring 堆串常用基本操作的演算法描述 串賦值int strassign hstring s,char chars else s...
C語言實現資料結構串(堆分配儲存表示法)例項詳解
堆分配儲存表示法 儲存結構 構建堆來儲存字串,本質上是順序表 實現 include include include define ok 1 define error 0 define true 1 define false 0 define overflow 2 define str init si...
資料結構之串結構的實現 堆分配結構 C語言
學習參考 嚴蔚敏 資料結構 c語言版 基本操作 賦值操作 字串連線 取長度字串比較 求子串輸出字串 清空操作 實現 結構定義 typedef struct pstr,dynstring 賦值操作 int strassign pstr str,char ch if len 0 return 0 str...