C中struct类型以及指针链表
来源:互联网 发布:淘宝注册商家有多少家 编辑:程序博客网 时间:2024/06/05 10:39
#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;
}*/
阅读全文
1 0
- C中struct类型以及指针链表
- C和C++中struct的区别 以及C++中struct和class 以及c和c++区别 引用和指针
- struct 类型指针技巧
- c中枚举类型enum, struct, union
- C和C++中struct以及typedef struct
- C--struct中一级指针与二级指针练习
- C++struct结构类型
- c中union和struct类型的大小计算
- C语言中结构体struct类型使用
- C与C++中struct的区别,以及C++中struct与Class的区别
- C与C++中struct的区别,以及C++中struct与Class的区别
- c语言:typedef + struct + 指针
- c语言:typedef + struct + 指针
- C ++中const指针类型区分技巧
- C语言自定义类型struct
- 关于C中字符数组,字符指针以及C++中string类型的两两转换及排序
- Objective-C 2.0 Class类型,选择器Selector以及函数指针
- C++中struct类型增强
- cocos 寻路 lua实现
- 一个关于数据库迁移的小错误
- Altera Modelsim仿真sim模板
- 暴力——BZOJ2783/Luogu3252 [JLOI2012]树
- 使用FFmpeg实现抠图合并功能(chroma key)
- C中struct类型以及指针链表
- Hibernate的HQL简介
- 单链表
- Java 8 Streams map() 例子
- 我是新手
- 值不能为空。参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explorer)
- vue中$nextTick()作用
- C++的命名空间、输入输出、重载、指针和引用的相关概念
- 爬虫之HTTP基础知识