以下のプログラムのメイン関数で最初のセルを struct MEMBER start = {"dummy", serialNum++, NULL};
のようにスタックに定義した場合の連結リストへの新規、追加、削除プログラ
ムを作りなさい、という問題ですがよろしくお願い合います。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
static intserialNum= 0;
/*----------------------------------------------
連結リストを構成する構造体
-----------------------------------------------*/
struct MEMBER{
charname[20]; //名前
int number; //番号
structMEMBER* next;//次のデータポインタ
};
/*----------------------------------------------
関数プロトタイプ
-----------------------------------------------*/
void AddMember(struct MEMBER* start, char* name, int num);
struct MEMBER* NewMember(char* name, int num);
void FreeLink(struct MEMBER* start);
/*--------------------------
連結リストを作成する
----------------------------*/
int main(int argc, char** argv)
{
struct MEMBER* start = NewMember("mitsugi", serialNum++);
AddMember(start, "emura", serialNum++);
AddMember(start, "satou", serialNum++);
AddMember(start, "yonemura", serialNum++);
FreeLink(start);
return(0);
}
/*----------------------------------------------
新しいセルを定義する
input name: 新しいメンバの名前
num: 新しいメンバの番号
return エントリの番地
-----------------------------------------------*/
struct MEMBER* NewMember(char* name, int num)
{
}
/*----------------------------------------------
リストの最後にセルを追加する
-----------------------------------------------*/
void AddMember(struct MEMBER* start, char* name, int num)
{
}
/*----------------------------------------------
start から始まる連結リストのメモリを解放する
-----------------------------------------------*/
void FreeLink(struct MEMBER* start)
{
}
リストへの追加削除のプログラム
Re:リストへの追加削除のプログラム
丸投げは、いけませんよ。
作れるところまで作ってください。
ところで、
>以下のプログラムのメイン関数で最初のセルを struct MEMBER start = {"dummy", serialNum++, NULL};
という文章とmainプログラムの
>struct MEMBER* start = NewMember("mitsugi", serialNum++);
との兼ね合いがわかりません。どういうことでしょう。
作れるところまで作ってください。
ところで、
>以下のプログラムのメイン関数で最初のセルを struct MEMBER start = {"dummy", serialNum++, NULL};
という文章とmainプログラムの
>struct MEMBER* start = NewMember("mitsugi", serialNum++);
との兼ね合いがわかりません。どういうことでしょう。