亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C語言數據結構之動態分配實現串

2020-05-23 13:35:44
字體:
來源:轉載
供稿:網友

C語言數據結構之動態分配實現串

說明:堆分配存儲實現串時,串并不是以'/0‘, 而是用數據項int length來表示的,所以和傳統的c語言操作字符串有所不同。

頭文件

#ifndef PILEHEAD_H_INCLUDED#define PILEHEAD_H_INCLUDED#include <stdio.h>#include <stdlib.h>typedef struct{  char* ch ;  int len ;}HString ;int StrAssign( HString* pstr , char* pch ) ;int StrLength( HString* pstr ) ;int StrCompaer( HString* pstr1 , HString* pstr2 ) ;int StrClear( HString* pstr ) ;int StrConcat( HString* pstr , HString str1 , HString str2 ) ;int StrSub( HString* sub , HString pstr , int pos , int length ) ;int StrPrint( HString* pstr ) ;#endif // PILEHEAD_H_INCLUDED

函數實現

#include "pilehead.h"int StrAssign( HString* pstr , char* pch ){  if( !pstr->len )  {    free( pstr->ch ) ;  }  int i ;  for( i = 0 ; pch[i] != '/0' ; i++ )  {    ;  }  if( i == 0 )  {    pstr->ch = NULL ;    pstr->len = 0 ;  }  else  {    pstr->ch = ( char* )malloc( i * sizeof( char ) ) ;    pstr->len = i ;  }  i = 0 ;  while( i < pstr->len )  {    pstr->ch[i] = pch[i] ;    i++ ;  }  return 0 ;}int StrPrint( HString* pstr ){  int i = 0 ;  while( i < pstr->len )  {    printf( "%c" , pstr->ch[i] ) ;    i++ ;  }  printf( "/n" ) ;  return 0 ;}int StrLength( HString* pstr ){  return pstr->len ;}int StrCompaer( HString* pstr1 , HString* pstr2 ){  int i = 0 ;  int ret = 0 ;  while( i < pstr1->len && i <pstr2->len )  {    ret = pstr1->ch[i] - pstr2->ch[i] ;    if( ret < 0 )    {      return -1 ;    }    else if( ret > 0 )    {      return 1 ;    }    else    {      i++ ;    }  }  int diff = pstr1->len - pstr2->len ;  if( diff < 0 )  {    return -1 ;  }  else if( diff == 0 )  {    return 0 ;  }  return 1 ;}int StrClear( HString* pstr ){  if( pstr->ch )  {    free( pstr->ch ) ;    pstr->ch = NULL ;  }  pstr->len = 0 ;  return 0 ;}int StrConcat( HString* pstr , HString str1 , HString str2 ){  StrClear( pstr ) ;  StrAssign( pstr , str1.ch ) ;  int len = str1.len ;  int len2 = 0 ;  while( len2 < str2.len )  {    pstr->ch[len++] = str2.ch[len2++] ;  }  pstr->len = str1.len + str2.len ;  return 0 ;}int StrSub( HString* sub , HString pstr , int pos , int length ){  if( pos < 1 || pos > pstr.len || length < 1 || length > pstr.len - pos + 1 )  {    printf( "ERROR!/n" ) ;    exit( 1 ) ;  }  StrClear( sub ) ;  sub->ch = ( char* )malloc( length * sizeof( char ) ) ;  sub->len = length ;  int i = 0 ;  while( i < length )  {    sub->ch[i] = pstr.ch[pos - 1 + i] ;    i++ ;  }  return 0 ;}

測試函數

#include "pilehead.h"int main(){  HString str ;  HString str1 ;  HString str2 ;  char* pch = "abcd" ;  StrAssign( &str , pch ) ;  StrAssign( &str1 , "abcd" ) ;  StrAssign( &str2 , "fhasdifhos" ) ;  StrPrint( &str ) ;  StrPrint( &str1 ) ;  /*StrClear( &str ) ;  StrPrint( &str ) ;  int i = StrCompaer( &str , &str1 ) ;  printf( "%d" , i ) ;*/  StrConcat( &str , str1 , str2 ) ;  StrPrint( &str ) ;  HString s ;  StrSub( &s ,str , 4 , 5 ) ;  StrPrint( &s ) ;  return 0;}

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
www国产91| 亚洲欧美一区二区激情| 成人中文字幕在线观看| 最近免费中文字幕视频2019| 国产综合久久久久| 国产精品免费电影| 国产精品视频网| 国产免费一区二区三区在线能观看| 欧美成在线观看| 456亚洲影院| 亚洲综合日韩在线| 亚洲精品视频网上网址在线观看| 久久久www成人免费精品张筱雨| 日韩大片免费观看视频播放| 亚洲a在线观看| 国产精品久久在线观看| 欧美另类暴力丝袜| 欧美日韩亚洲天堂| 欧美性xxxx极品hd欧美风情| 91精品国产91久久久久久久久| 精品激情国产视频| www.欧美精品一二三区| 日韩精品免费视频| 欧美成人免费全部观看天天性色| 欧美亚洲免费电影| 久久久久国产一区二区三区| 亚洲国产毛片完整版| 久久精品美女视频网站| 色综合伊人色综合网站| 91黄色8090| 日韩一区二区三区xxxx| 国产精品久久久一区| 久久这里有精品视频| 国产精品18久久久久久麻辣| 久久久久免费精品国产| 欧美美女18p| 亚洲色图综合网| 91欧美激情另类亚洲| 欧美在线影院在线视频| 久久久久久国产精品三级玉女聊斋| 国产精品九九九| 高清欧美性猛交xxxx| 日本aⅴ大伊香蕉精品视频| 成人免费视频xnxx.com| 日韩欧美成人精品| 亚洲国产精品va在线看黑人动漫| 少妇高潮久久久久久潘金莲| 亚洲精品欧美日韩专区| 69久久夜色精品国产7777| 亚洲国产女人aaa毛片在线| 亚洲第一视频网| 国产精品一区二区三区在线播放| 国产精品欧美在线| 一本一本久久a久久精品综合小说| 欧美怡春院一区二区三区| 97在线视频免费| 久久久精品一区| 精品国产福利在线| 欧美性猛交xxxxx免费看| 精品久久久久久久久久| 国产精品福利无圣光在线一区| 成人a在线观看| 欧美巨乳在线观看| 91精品国产高清久久久久久91| 欧美国产日韩一区二区在线观看| 欧美大片在线看| 97免费中文视频在线观看| 亚洲一区二区三区xxx视频| 久久久精品免费视频| 91tv亚洲精品香蕉国产一区7ujn| 亚洲人av在线影院| 午夜欧美大片免费观看| 日本久久久久久久| 亚洲奶大毛多的老太婆| 欧美日韩亚洲精品内裤| 国产精品成av人在线视午夜片| 亚洲一区二区久久| 91色视频在线导航| 97在线观看视频| 国产日韩欧美综合| www.亚洲天堂| 欧美激情视频一区二区| 欧美中文字幕在线视频| 91精品国产高清| 国产精品专区第二| 在线视频国产日韩| 97色伦亚洲国产| 日韩网站免费观看高清| 亚洲石原莉奈一区二区在线观看| 欧美精品午夜视频| 国产成人精品久久亚洲高清不卡| 亚洲九九九在线观看| 亚洲香蕉在线观看| 91精品国产九九九久久久亚洲| 亚洲国产古装精品网站| 一区二区三区在线播放欧美| 亚洲国产精品推荐| 91精品国产91久久久| 久青草国产97香蕉在线视频| 国产激情久久久| 亚洲精品电影网| 日韩在线小视频| 中文字幕欧美亚洲| 国产精品电影久久久久电影网| 精品久久香蕉国产线看观看gif| 91探花福利精品国产自产在线| 亚洲精品wwwww| 伊人久久男人天堂| 久久久久久久91| 国产69精品久久久| 国语自产精品视频在线看抢先版图片| 中文.日本.精品| 欧美成人在线影院| 在线播放日韩欧美| 久久青草精品视频免费观看| 97婷婷涩涩精品一区| 久久在精品线影院精品国产| 91啪国产在线| 欧美黄色三级网站| 中文在线资源观看视频网站免费不卡| 国产91精品久久久久| 欧美第一页在线| 欧美日韩国产精品一区二区三区四区| 热99在线视频| 中文字幕亚洲一区在线观看| 精品久久久久久久久久久| 一区二区在线视频| xx视频.9999.com| 欧美性xxxx极品hd欧美风情| 久久久久国产精品一区| 狠狠躁18三区二区一区| 国产精品免费观看在线| 色狠狠av一区二区三区香蕉蜜桃| 欧美日韩亚洲天堂| 国产成人极品视频| 久久亚洲影音av资源网| 国产精品高潮呻吟久久av野狼| 一区二区欧美久久| 欧美性资源免费| 国产成人精品在线| 亚洲裸体xxxx| xvideos亚洲人网站| 午夜精品福利电影| 一本大道香蕉久在线播放29| 欧美日韩日本国产| 中文字幕日韩精品有码视频| 欧美精品videos性欧美| 欧美成在线观看| 亚洲视频在线免费看| 亚洲色图50p| 亚洲国语精品自产拍在线观看| 色777狠狠综合秋免鲁丝| 亚洲va国产va天堂va久久| 国内精品久久久久伊人av| 欧美亚洲在线播放| 91在线观看免费网站| 91免费国产网站| 福利一区福利二区微拍刺激| 欧美一区二区三区精品电影| 亚洲少妇中文在线| 久久久国产精品亚洲一区| 久久综合久中文字幕青草| 欧美性jizz18性欧美| 日本精品久久久|