C語言 堆形式儲存的字串操作

2021-06-06 19:03:38 字數 1337 閱讀 1221

/**

以堆分配儲存表示串,串基本操作

*/#include #define ok 1

#define error 0

#define true 1

#define false 0

#define overflow -1

typedef int status;

typedef structhstring;

//------------基本操作函式原型-------------//

status strassign(hstring *t,char *chars);

//生成乙個其值等於串常量chars的串t

int strlength(hstring s);

//返回串s的元素個數,即串的長度

int strcompare(hstring s,hstring t);

//若s>t,則返回值》0;若s==t,則返回值=0,若sch) free(t->ch); //釋放t的原有空間

for(i=0,c=chars;*c!='\0';i++,c++); //求chars的長度i

if(!i)else

t->length=i;

}return ok;

}int strlength(hstring s)

int strcompare(hstring s,hstring t)

s->length=0;

return ok;

return ok;

}status concat(hstring *t,hstring s1,hstring s2)

t->length=s1.length+s2.length;

for(i=0;ich[i]=s1.ch[i];

}for(;ilength;i++)

return ok;

}status substring(hstring *sub,hstring s,int pos,int len)else

return ok;

}void printstring(hstring s){

//列印串s的資訊,長度和ch內容

int i;

printf("length of the string: %d\n",s.length);

if(0!=s.length){

printf("context of the string: ");

for(i=0;i

執行結果:

C語言字串 堆記憶體

是程序的乙個記憶體段 text data bss heap stack 由程式設計師手動管理 特點 足夠大,缺點 使用麻煩1 隨著程式的複雜,資料量變多 2 其它記憶體段的申請 釋放不受控制,堆記憶體的申請和釋放受控制注意 c語言中沒有控制堆記憶體的語句,只能使用c標準庫提供的函式 include ...

c語言 字串操作

include include include 將to的路由器ip更換為from的sip server ip int main fromstart indexof from,fromip char malloc fromlen fromstart substring fromip,from,from...

c 語言 儲存字串的方法

1,使用字元陣列,如下 char name wangtianqiao char cpoint cpoint name printf s n name printf c name 4 printf c cpoint 4 2,使用字元指標,如下 char cpoint wangtianqiao prin...