/*
* sqstring.c
*
* Created on: 2018年11月27日
* Author: Jinjin
*/
#include<stdio.h>
#include<malloc.h>
#define INITSTRLEN 100
typedef struct
{
char *ch;
int length;
int strsize;
}string;
/*
* 初始化操作,创建一个空串s
*/
void initstring(string * s)
{
s->ch = (char *)malloc(INITSTRLEN*sizeof(char));
s->length = 0;
s->strsize = INITSTRLEN;
}
/*
* 串赋值操作(将字符串常量s2赋给字符串变量s1)
*/
void strassign(string * s1,char * s2)
{
int i;
i = 0;
while(s2[i]!='\0')i++;
if(i>s1->strsize){
s1->ch =(char *)realloc(s1->ch,i*sizeof(char)); //存储空间不够,增加空间
s1->strsize = i;
}
s1->length = i;
for(i=0;i<s1->length;i++){
s1->ch[i] = s2[i];
}
}
/*
* 串复制操作(将字符串变量s2的值赋给字符串变量s1的值)
*/
void assign(string * s1,string * s2)
{
int i;
if(s1->strsize<s2->length){
s1->ch = (char *)realloc(s1->ch,s2->length*s
顺序串的表示和实现(C语言)
最新推荐文章于 2024-04-22 09:54:02 发布