最近,利用空闲时间,做了以下数据结构的题目
感觉自己以前没有真正的理解指针,和内存的分配
以下就是刚做的一个小程序
#include <stdio.h>
#include <stdlib.h>
struct list
{
int data;
char name[25];
struct list *next;
};
typedef struct list node;
typedef node *bo;
int main()
{
int num=0,i;
char iname[25];
bo cao;
cao=(bo) malloc (sizeof (node));
if(cao==NULL)
{
printf("memory fail/n");
}
else
{
printf("请随便输入一个数/n");
scanf("%d",&num);
printf("请输入你的名字/n");
scanf("%s",iname);
cao->data=num;
for(i=0;i<10;i++)
{
cao->name[i]=iname[i];
/*cao->name[25]=iname[25]; 如果这样显示的名字是乱码,为什么*/
}
cao->next=NULL;
printf("编号:%d/n",cao->data);
printf("姓名:%s/n",cao->name);
}
free(cao);
}
希望大家不要忘记了,释放。
憋久了,会上火的哦``~~~