链表创建为什么需要使用内存分配?

我们知道,在全局定义的结构体变量,存储全局数据区;在函数内定义的结构体变量,存储在栈区;使用malloc函数申请空间来存放结构体变量,则该结构体变量存储在堆空间中。

我们说的链表,其节点数据一般放在堆空间中。

那假如有1000个在函数内部(栈区)或者函数外部(全局数据区)定义好的结构体,能否直接创建链表?可以的,但是这样徒有链表的形式,不具备链表动态扩展的特点。

比如下面段代码,提前定义了结构体数组,然后串联成类似“链表”的形式,但假如节点数目大于6,则难以扩展。

struct MyStruct
{int a;struct MyStruct* next;
};int main(void)
{struct MyStruct node[6];int k;for (int i = 0; i < 5; i++){scanf("%d", &k);node[i].a = k;node[i].next = &node[i + 1];}node[5].a = 44;node[5].next = NULL;struct MyStruct* temp = &node[0];while (temp!= NULL){printf("%d", temp->a);temp = temp->next;}getchar(); getchar(); return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我国三大坐标系的区别(西安80、北京54、WGS-84)

1、北京54坐标系(BJZ54) 北京54坐标系为参心大地坐标系&#xff0c;大地上的一点可用经度L54、纬度M54和大地高H54定位&#xff0c;它是以克拉索夫斯基椭球为基础&#xff0c;经局部平差后产生的坐标系。 1954年北京坐标系的历史&#xff1a; 新中国成立以后&#xff0c;我国大…

springside 4 web-init 启动

我初始化h2数据库&#xff0c; 然后把jar 放到 springside-4.0.0.RC2\examples\mini-web 中 &#xff0c;最后配置启动tomcat。 就出现这个错。 最开始我用 quick-start.bat &#xff0c;但总是执行到一半就 挂掉了。 提示spy 包没找到 。 这个是在装载 xml&#xff0c;解析成b…

ACM中java快速入门

2019独角兽企业重金招聘Python工程师标准>>> ACM中java快速入门 附&#xff1a; Chapter I. Java的优缺点各种书上都有&#xff0c;这里只说说用Java做ACM-ICPC的特点&#xff1a; (1) 最明显的好处是&#xff0c;学会Java&#xff0c;可以参加Java Challenge …

空分复用的概念

定义&#xff1a;让同一个频段在不同的空间内得到重复利用&#xff0c;称之为空分复用。一般使用自适应天线阵列技术实现&#xff0c;在不同的用户方向上形成不同的波束。也叫SDM。 另&#xff1a; 如果把空间的分割来区别不同的用户&#xff0c;就叫做SDMA。每个波束可提供一…

OV7725的帧率和PCLK寄存器设置

一、OV7725的PCLK的改变和以下几个寄存器有关&#xff1a; 1&#xff1a;OX0D&#xff08;COM4&#xff09;&#xff1b; ------------------------------------------------------------------------------------------------------------------ 0X0D COM4 41 …

从集合中选出一些元素组成子集合,使得这些子集合符合某种约束

今天朋友问了一个问题&#xff1a;现有整型数组 a[6] {1,2,4,3,5,8}&#xff0c;写一个函数&#xff0c;找出所有和为10的集合。穷举法暴力解决很容易&#xff0c;但没有体现算法思想。不妨将问题上升&#xff1a;有某大小为N的整型数组&#xff0c;从中找出所有和为M的集合。…

演示:两台交换机成环后的STP计算原则

演示&#xff1a;两台交换机成环后的STP计算原则演示目标&#xff1a;理解两台交换机成环后&#xff0c;STP的计算原则&#xff0c;重点理解PID的作用。演示环境&#xff1a;如下图7.49所示。演示背景&#xff1a;上图所示的环境为两台交换机的生成树环境&#xff0c;其中S1有较…

引水入城

最近在搞提高组的题,这是某天早上给的T1 T1最难还行 原题目 最近考试考多了就是见题打暴力,打搜索, 然而这题真是搜索, 但是并不能只搜索,会T,没亲测,但一定有效 这并不是考试题,所以看看标签(理直气壮的理由) 是BFS啊... 那就用DFS吧 这里的DP一开始看没有什么感觉,但是做着做…

程序员必知8大排序3大查找(一)

每天都在叫嚣自己会什么技术&#xff0c;什么框架&#xff0c;可否意识到你每天都在被这些新名词、新技术所迷惑&#xff0c;.NET、XML等等技术固然诱人&#xff0c;可是如果自己的基础不扎实&#xff0c;就像是在云里雾里行走一样&#xff0c;只能看到眼前&#xff0c;不能看到…

最详细的U-BOOT源码分析及移植

本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上&#xff1a; 1、u-boot工程的总体结构 2、u-boot的流程、主要的数据结构、内存分配。 3、u-boot的重要细节&#xff0c;主要分析流程中各函数的功能。 4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,…

常见的算法思想(分治、动态规划、贪心算法、回溯法等)

《数据结构与算法》一书中讲到的几种常见的算法思想包括&#xff1a;递归和分治、动态规划、贪心算法、回溯法、分支限界法、概率算法、线性规划、NP完全性理论。我们平常所见的一般都是前5种&#xff0c;这里简单介绍。 分治法 把一个大规模问题划分成几个子问题&#xff0c;…

织梦教程

/************************************************************************************************************************************************** 织梦 文件说明 很详细 http://bbs.admin5.com/thread-1952932-1-1.html /****************************************…

TinyXML:一个优秀的C++ XML解析器

2019独角兽企业重金招聘Python工程师标准>>> 读取和设置xml配置文件是最常用的操作&#xff0c;试用了几个C的XML解析器&#xff0c;个人感觉TinyXML是使用起来最舒服的&#xff0c;因为它的API接口和Java的十分类似&#xff0c;面向对象性很好。 TinyXML是一个开源…

《C++标准程序库》学习笔记5 — 第七章

1.(P252) 迭代器的分类及其能力&#xff1a;input迭代器只能读取元素一次。如果复制input迭代器&#xff0c;并使原迭代器和新产生副本都向前读取&#xff0c;可能会遍历到不同的值。output迭代器类似。 2.(P258) C不允许修改任何基本类型&#xff08;包括指针&#xff09;的暂…

Android无线调试——抛开USB数据线

开发Android的朋友都知道&#xff0c;真机调试需要把手机与PC相连&#xff0c;然后把应用部署到真机上进行安装和调试。长长的USB线显得很麻烦&#xff0c;而且如果需要USB接口与其他设备连接的话显得很不方便。今天介绍一种不通过USB线就可以进行真机调试的方法。首先让手机与…

C中不能直接比较两个double类型

在比较float 和double类型的时候&#xff0c;因为float/double精度的问题&#xff0c;比如1.000000001可能和1.0000000000001相等&#xff0c;不应该直接使用a>b等类似的方式进行比较&#xff0c;而是采用 两个数做差取绝对值然后跟指定的精度进行比较 &#xff0c;便可得出…

C#基础——C#入门

教材是C#入门经典&#xff08;第四版&#xff09;。 PC:Thinkpad sl410 OS:Win7 Ultimate SDE:VS 2010 Ultimate 1.2 什么是C#&#xff1f; C#是从C、C语言演化而来&#xff0c;Microsoft专门为使用.Net平台而创建的语言&#xff0c;读作C sharp。运行在.Net CRL环境上的应用程…

VS2017动态链接库(.dll)的生成与使用

这里以VS2017为例子&#xff0c;讲解一下动态链接库&#xff08;.dll&#xff09;的生成与使用。 一、动态链接库&#xff08;.dll&#xff09;的生成 1、打开&#xff1a;“文件”-“新建”-“项目” 2、打开&#xff1a;“已安装”-“模板”-“Visual C”-“Win32”-“Win3…

让Windows7 x64 IIS7支持32位应用程序

我的os是Win7 64位&#xff0c;因为开发的一个应用程序使用了非dot net 的32 位的dll。 经常出现无法装载****.dll的问题。 下面的命令让IIS 7支持32位的应用程序&#xff1a; cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin…

c#中用声音提示报警(转)

using System; using System.Runtime.InteropServices; 调用 Interaction.Beep(); 使用MessageBeep(unit uType):需添加 using System.Runtime.InteropServices; public const int MB_ICONEXCLAMATION 48; [DllImport("user32.dll")] public static extern bool M…