程序代码:
#include "stdio.h"
#include "memory.h"
/**
*1、编程实现26个英文字母的顺序存储,并显示;
*2、要求采用malloc函数为顺序表动态分配内存;
*3、要求采用结构化编程,用init( )函数实现顺序表初始化,用build( )函数实现顺序表的存储,用display( )函数实现顺序表的显示。
**/
void init();
void build();
void display();
char *p;
int main(int argc, char *argv[]){
init();
build();
display();
return 0;
}
void init(){
p=(char *)malloc(26);
if(p) printf("Memory Allocated at:%x\n",p);
else printf("Not Enough Memory!\n");
}
void build(){
int i;
for(i = 0;i < 26;i++){
*(p+i) = 97 + i;
}
}
void display(){
int i;
for(i = 0;i < 26;i++){
printf("%c\t",*(p+i));
}
free(p);
}
程序代码:
#include "stdio.h"
#include "memory.h"
/**
*1、编程实现26个英文字母的链表存储,并显示;
*2、要求采用结构化编程,用init( )函数实现顺序表初始化,用build( )函数实现顺序表的存储,用display( )函数实现顺序表的显示。
**/
void init();
void build();
void display();
struct node {
struct node *pre;
char *self;
struct node *next;
};
struct node *talloc(){
return (struct node *) malloc(sizeof(struct node));
}
struct node *p;
struct node *first;
int main(int argc, char *argv[]){
build();
display();
return 0;
}
void build(){
int i;
for(i = 0;i < 26;i++){
if(p == NULL){
p = talloc();
first = p;
*(p->self) = 97 + i;
}else{
p->next = talloc();
*(p->next->self) = 97 + i;
p = p->next;
}
}
}
void display(){
while(first->next != NULL){
printf("%c\t",*(first->self));
first = first->next;
}
free(p);
free(first);
}