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语言实现链表中结构体嵌套的更多相关文章

  1. abap中结构体嵌套结构体。

    1: 结构体中嵌套结构体. *&---------------------------------------------------------------------* *& Re ...

  2. C语言中结构体赋值问题的讨论

    今天帮师姐调一个程序的BUG,师姐的程序中有个结构体直接赋值的语句,在我印象中结构体好像是不能直接赋值的,正如数组不能直接赋值那样,我怀疑这个地方有问题,但最后证明并不是这个问题.那么就总结一下C语言 ...

  3. C语言中结构体对齐问题

    C语言中结构体对齐问题 收藏 关于C语言中的结构体对齐问题 1,比如: struct{short a1;short a2;short a3;}A;struct{long a1;short a2;}B; ...

  4. C语言中结构体赋值问题的讨论(转载)

    今天帮师姐调一个程序的BUG,师姐的程序中有个结构体直接赋值的语句,在我印象中结构体好像是不能直接赋值的,正如数组不能直接赋值那样,我怀疑这个地方有问题,但最后证明并不是这个问题.那么就总结一下C语言 ...

  5. Go语言中结构体的使用-第2部分OOP

    1 概述 结构体的基本语法请参见:Go语言中结构体的使用-第1部分结构体.结构体除了是一个复合数据之外,还用来做面向对象编程.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. ...

  6. 6. Go 语言中结构体的使用

    1. 结构体的定义格式 在go语言中结果的定义格式如下: 123 type structName struct { filedList} 列子如下: 1234 type Person struct { ...

  7. C语言结构体嵌套

    #include <stdio.h> int main() { /*************************************************** *结构体嵌套:结构 ...

  8. 《挑战30天C++入门极限》C/C++中结构体(struct)知识点强化

        C/C++中结构体(struct)知识点强化 在上一个教程中我们已经简单的阐述了什么是结构体了,为了进一部的学习结构体这一重要的知识点,我们今天来学习一下链表结构. 结构体可以看做是一种自定义 ...

  9. (一)一个工作任务引起的乱战——c#中结构体与byte[]间相互转换

    一个工作任务涉及到c#与c++系统间的udp通信,处理了蛮长时间没有完成任务,但是期间接触到不少小知识点.本人是初接触c#,c++语言没有接触过.可能写的东西都很小儿科,暂且记录下来当工作日记把. 先 ...

随机推荐

  1. 为什么在c语言中使用gets函数是危险的

      If you have code like this: char s[10]; gets( s ); and you type in more than 10 characters when th ...

  2. PCI-Express协议传输层读书笔记

    http://www.doczj.com/doc/35cb19633169a4517723a3d9-9.html

  3. 一个表空间offline后alert日志报ORA-01135 和ORA-01110的问题

    本文是原创文章.转载请注明出处:http://blog.csdn.net/msdnchina/article/details/44336789 近期遇到一个案例,是将一个表空间offline之后,al ...

  4. 56. Two Sum【easy】

    Given an array of integers, find two numbers such that they add up to a specific target number. The ...

  5. CentOS minimal 版安装图形界面的步骤分享,中文语言包

    1.连接网络: CentOS minimal.iso安装好后,进入终端,默认是不开网络的, 首先启用网卡, 自动获取ip. ifconfig eth0 up dhclient eth0 这时候再 if ...

  6. CSS学习笔记(11)--Flex 布局教程:语法篇

    原文--阮一峰博客 作者: 阮一峰 日期: 2015年7月10日 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 ...

  7. TCP状态图

    TCP建立关闭连接状态图 MSL:Max segment lifetime最大段存活时间. MSL在RFC1122中规定为两分钟,但是各个操作系统的实现不同,在linux上一般配置MSL???? 处于 ...

  8. RSYNC在zabbix中的检查

      RSYNC在zabbix中的检查 作者:高波 归档:学习笔记 2017/08/21 快捷键: Ctrl + 1    标题1 Ctrl + 2    标题2 Ctrl + 3    标题3 Ctr ...

  9. 微信小程序 - IOS 仿饿了么"我的",下拉橡皮筋效果

    这个需求是在wepy交流群里有群友提到的. 一个小花样. 注册mixins /** * IOS专用 顶部下拉橡皮筋效果 * 安卓的Page在到达顶部的时候,不能继续下拉...略过 * * 效果见 饿了 ...

  10. STUN协议简析

    http://blog.csdn.net/mazidao2008/article/details/4934257 ——————————————————————————————————————————— ...