#include <iostream>
#include <stdio.h>
#include <malloc.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
#define ElemType int
//指针处理链表 :单链表
struct Node{
ElemType data;
struct Node *next;
};
typedef Node* List;
void InitList(List *head){
*head = NULL;
}
void CreatList (List *head){
*head = (Node*)malloc(sizeof(Node));
(*head)->data = 1;
(*head)->next = NULL;
Node *p = *head;
for(int i = 2;i<=10; i++){
Node *s = (Node*)malloc(sizeof(Node));
s->data = i;
s->next = NULL;
p->next = s;
p = s;
}
}
void ShowList(List head){
Node *p = head;
while(p != NULL){
printf("%d-->",p->data);
p = p->next;
}
printf("over!\n");
}
int main(){
List mylist;
InitList(&mylist);
CreatList(&mylist);
ShowList(mylist);
return 0;
}
/*
//学生结构体设计
//初始化
struct student{
char id[5];
char name[10];
int age;
char sex[5];
}s2 = {"0002","holiday",9,"girl"}; //声明同时定义变量
int main(int argc, char *argv[]) {
student s1 = {"0001","holiday",10,"boy"};//利用结构体名定义变量s3.
printf("id = %s, name = %s, age = %d, sex = %s\n",s1.id, s1.name,s1.age,s1.sex);
//结构体指针,指针指向结构体变量
//注意指针访问结构体,要用指针符号 “-> ”
student *ps = &s1;
printf("id = %s, name = %s, age = %d, sex = %s\n",ps->id, ps->name,ps->age,ps->sex);
//结构体数组
student s[2] = {{"0001","holiday",10,"男"},"0002","holiday",9,"girl"};
int i;
for (i = 0;i<2;i++){
printf("id = %s, name = %s, age = %d, sex = %s\n",s[i].id, s[i].name, s[i].age, s[i].sex);
}
//
return 0;
}
//定义
//定义变量2.在声明的同时定义结构体变量方法
/*
struct student{
char id[5];
char name[10];
int age;
char sex[4];
}s1,s2; //声明同时定义变量
int main(int argc, char *argv[]) {
int a;
int b;
int c;
student s3;//利用结构体名定义变量s3.
return 0;
}
/*
//student:id,name,age,sex.....
//定义变量:1.利用结构体名称定义变量
struct student{
char id[5];
char name[10];
int age;
char sex[4];
};
int main(int argc, char *argv[]) {
int a;
int b;
int c;
struct student s1, s2, s3;
//c中要在结构体变量s1,s2,s3前的student前加struct,才能进行调用。
//但在C++中是不需要的
//student s1,s2,s3;
return 0;
}*/
#include <stdio.h>
#include <malloc.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
#define ElemType int
//指针处理链表 :单链表
struct Node{
ElemType data;
struct Node *next;
};
typedef Node* List;
void InitList(List *head){
*head = NULL;
}
void CreatList (List *head){
*head = (Node*)malloc(sizeof(Node));
(*head)->data = 1;
(*head)->next = NULL;
Node *p = *head;
for(int i = 2;i<=10; i++){
Node *s = (Node*)malloc(sizeof(Node));
s->data = i;
s->next = NULL;
p->next = s;
p = s;
}
}
void ShowList(List head){
Node *p = head;
while(p != NULL){
printf("%d-->",p->data);
p = p->next;
}
printf("over!\n");
}
int main(){
List mylist;
InitList(&mylist);
CreatList(&mylist);
ShowList(mylist);
return 0;
}
/*
//学生结构体设计
//初始化
struct student{
char id[5];
char name[10];
int age;
char sex[5];
}s2 = {"0002","holiday",9,"girl"}; //声明同时定义变量
int main(int argc, char *argv[]) {
student s1 = {"0001","holiday",10,"boy"};//利用结构体名定义变量s3.
printf("id = %s, name = %s, age = %d, sex = %s\n",s1.id, s1.name,s1.age,s1.sex);
//结构体指针,指针指向结构体变量
//注意指针访问结构体,要用指针符号 “-> ”
student *ps = &s1;
printf("id = %s, name = %s, age = %d, sex = %s\n",ps->id, ps->name,ps->age,ps->sex);
//结构体数组
student s[2] = {{"0001","holiday",10,"男"},"0002","holiday",9,"girl"};
int i;
for (i = 0;i<2;i++){
printf("id = %s, name = %s, age = %d, sex = %s\n",s[i].id, s[i].name, s[i].age, s[i].sex);
}
//
return 0;
}
//定义
//定义变量2.在声明的同时定义结构体变量方法
/*
struct student{
char id[5];
char name[10];
int age;
char sex[4];
}s1,s2; //声明同时定义变量
int main(int argc, char *argv[]) {
int a;
int b;
int c;
student s3;//利用结构体名定义变量s3.
return 0;
}
/*
//student:id,name,age,sex.....
//定义变量:1.利用结构体名称定义变量
struct student{
char id[5];
char name[10];
int age;
char sex[4];
};
int main(int argc, char *argv[]) {
int a;
int b;
int c;
struct student s1, s2, s3;
//c中要在结构体变量s1,s2,s3前的student前加struct,才能进行调用。
//但在C++中是不需要的
//student s1,s2,s3;
return 0;
}*/