C语言实现链表中结构体嵌套
1.首先,定义两个结构体,一个用于定义链表,一个用于定义数据
// 定义数据相关的结构体
typedef struct Student{
int stu_id;
char name[];
}Stu; // 定义链表相关的结构体
typedef struct Node{
Stu student;
struct Node *next;
}Node,*LinkedList;
2.链表初始化时需要注意student指向stu_id和name方式,用“.”
// 链表初始化
LinkedList LinkedListInit(){
Node *Head,*L,*LNew;
int id;
char name[];
// 申请节点空间
Head = (Node *)malloc(sizeof(Node));
// 判断是否有足够内存空间
if(Head == NULL){
printf("申请空间失败\n");
exit(-);
} L = Head;
L->next = NULL; for(int i=;i<;i++){
// 分配第一个节点
LNew = (Node *)malloc(sizeof(Node));
// 判断是否有足够内存空间
if(LNew == NULL){
printf("申请空间失败\n");
exit(-);
}
scanf("%d",&id);
LNew->student.stu_id = id;
// 注意字符串数组的名字就是首地址,不需要"&"
scanf("%s",name);
// 字符复制,用strcpy来复制
strcpy(LNew->student.name,name);
L->next = LNew;
LNew->next = NULL;
L = LNew;
} return Head;
}
具体源码demo.c
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include <string.h> typedef struct Student{
int stu_id;
char name[];
}Stu; // 定义结构体类型
typedef struct Node{
Stu student;
struct Node *next;
}Node,*LinkedList; // 链表初始化
LinkedList LinkedListInit(){
Node *Head,*L,*LNew;
int id;
char name[];
// 申请节点空间
Head = (Node *)malloc(sizeof(Node));
// 判断是否有足够内存空间
if(Head == NULL){
printf("申请空间失败\n");
exit(-);
} L = Head;
L->next = NULL; for(int i=;i<;i++){
// 分配第一个节点
LNew = (Node *)malloc(sizeof(Node));
// 判断是否有足够内存空间
if(LNew == NULL){
printf("申请空间失败\n");
exit(-);
}
scanf("%d",&id);
LNew->student.stu_id = id;
scanf("%s",name);
strcpy(LNew->student.name,name);
L->next = LNew;
LNew->next = NULL;
L = LNew;
} return Head;
} int main(int argc, char const *argv[]) {
/* code */
Node *p;
p = LinkedListInit();
p = p->next;
while(p != NULL){
printf("%d\t",p->student.stu_id);
printf("%s\n",p->student.name); p = p->next;
} return ;
}

C语言实现链表中结构体嵌套的更多相关文章
- abap中结构体嵌套结构体。
1: 结构体中嵌套结构体. *&---------------------------------------------------------------------* *& Re ...
- C语言中结构体赋值问题的讨论
今天帮师姐调一个程序的BUG,师姐的程序中有个结构体直接赋值的语句,在我印象中结构体好像是不能直接赋值的,正如数组不能直接赋值那样,我怀疑这个地方有问题,但最后证明并不是这个问题.那么就总结一下C语言 ...
- C语言中结构体对齐问题
C语言中结构体对齐问题 收藏 关于C语言中的结构体对齐问题 1,比如: struct{short a1;short a2;short a3;}A;struct{long a1;short a2;}B; ...
- C语言中结构体赋值问题的讨论(转载)
今天帮师姐调一个程序的BUG,师姐的程序中有个结构体直接赋值的语句,在我印象中结构体好像是不能直接赋值的,正如数组不能直接赋值那样,我怀疑这个地方有问题,但最后证明并不是这个问题.那么就总结一下C语言 ...
- Go语言中结构体的使用-第2部分OOP
1 概述 结构体的基本语法请参见:Go语言中结构体的使用-第1部分结构体.结构体除了是一个复合数据之外,还用来做面向对象编程.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. ...
- 6. Go 语言中结构体的使用
1. 结构体的定义格式 在go语言中结果的定义格式如下: 123 type structName struct { filedList} 列子如下: 1234 type Person struct { ...
- C语言结构体嵌套
#include <stdio.h> int main() { /*************************************************** *结构体嵌套:结构 ...
- 《挑战30天C++入门极限》C/C++中结构体(struct)知识点强化
C/C++中结构体(struct)知识点强化 在上一个教程中我们已经简单的阐述了什么是结构体了,为了进一部的学习结构体这一重要的知识点,我们今天来学习一下链表结构. 结构体可以看做是一种自定义 ...
- (一)一个工作任务引起的乱战——c#中结构体与byte[]间相互转换
一个工作任务涉及到c#与c++系统间的udp通信,处理了蛮长时间没有完成任务,但是期间接触到不少小知识点.本人是初接触c#,c++语言没有接触过.可能写的东西都很小儿科,暂且记录下来当工作日记把. 先 ...
随机推荐
- [svc]raid基础知识-冷知识
参阅:磁盘接口与RAID Dell 服务器做Raid 1,raid形象理解(饮水机模型) http://dingyichao.blog.51cto.com/442449/698762 2,raid利用 ...
- Struts2初学 Struts2的action接收用户数据方式
一.简介 开发Web应用程序,首先应会遇到对用户输入数据的接收,传统的Web应用程序是由开发人员调用HttpServletRequest的getparameter(String name)方法从 ...
- SSH 限制
SSH 限制 限制 SSH 连接 通过使用用户.组和拒绝/允许条目限制 SSH 用户连接您的主机.还可以针对各个主机使用 TCP Wrappers. 评论 David Tansley, 系统管理员, ...
- IE6支持兼容min-width、max-width CSS样式属性
IE6支持兼容min-width.max-width CSS样式属性 让IE6支持max-width.IE6支持min-width样式 我们在写CSS的时候,常常会遇到让一个图片或一个布局不能超出设定 ...
- 每日英语:Why Chinese Companies Lack Homegrown Luxury Brand Power
Chinese companies build iPads, high-speed trains and world-class telecom gear, but they can't seem t ...
- nyoj 760 See LCS again
See LCS again 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 There are A, B two sequences, the number of ele ...
- swift学习经验和错误记录
1.selector 和action 直接用字符串,后面要加冒号":" 2.StoryBoard 连接后改名又重新连接出现了找不到符号的诡异错误,unknow class xxxx ...
- CSS——你所不知的 CSS ::before 和 ::after 伪元素用法(转)
你所不知的 CSS ::before 和 ::after 伪元素用法 CSS 有两个说不上常用的伪类 :before 和 :after,偶尔会被人用来添加些自定义格式什么的,但是它们的功用不仅于此.前 ...
- PHP——内测:联系人管理
要求见文件-内测:联系人管理.pdf 数据库为mycontacts 表格为contacts,groups 表格内容为: zhuye.php <!DOCTYPE html PUBLIC " ...
- PHP——0128练习相关2——js点击button按钮跳转到另一个新页面
js点击button按钮跳转到另一个新页面 投稿:whsnow 字体:[增加 减小] 类型:转载 时间:2014-10-10我要评论 点击按钮怎么跳转到另外一个页面呢?点击图片要跳转到新的页面时,怎么 ...