清明节期间学习记录,无愧对先人啊~~~LINUX ANSI C动态内存管理示范代码

简介: 我们重庆万州家人习俗是春节时为祖先上坟的。 今年回家时,我和小孩,老婆,爸妈去祖上除过草,挂过纸,放过鞭炮了。 希望祖上在另一个世界,一切安好。 清明节期间,努力学习,无愧对先人吧。。。 1 [root@localhost ccode]# cat realloc_example.

我们重庆万州家人习俗是春节时为祖先上坟的。

今年回家时,我和小孩,老婆,爸妈去祖上除过草,挂过纸,放过鞭炮了。

希望祖上在另一个世界,一切安好。

清明节期间,努力学习,无愧对先人吧。。。

 1 [root@localhost ccode]# cat realloc_example.c
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 
 5 int main(int argc, char* argv[], char* envp[])
 6 {
 7     int input;
 8     int n;
 9     int *numbers1;
10     int *numbers2;
11     numbers1 = NULL;
12 
13     if((numbers2 = (int *)malloc(5 * sizeof(int))) == NULL)
14     {
15         printf("malloc memory unsuccessful.");
16         numbers2 = NULL;
17         exit(1);
18     }
19 
20     for(n = 0; n < 5; n++)
21     {
22         *(numbers2 + n) = n;
23         printf("numbers2's data: %d\n", *(numbers2 + n));
24     }
25     printf("Enter an an integer value you want to remalloc (enter 0 to stop)\n");
26     scanf("%d",&input);
27     numbers1 = (int *)realloc(numbers2, (input + 5) * sizeof(int));
28     if(numbers1 == NULL)
29     {
30         printf("Error (re)allocating memory");
31         exit(1);
32     }
33 
34     for(n = 0; n < 5; n++)
35     {
36         printf("the numbers1s's data copy from numbers2: %d\n", *(numbers1 + n));
37    }
38    for(n = 0; n < input; n++)
39    {
40         *(numbers1 + 5 +n) = n * 2;
41         printf("numbers1's new data: %d\n",*(numbers1 + 5 + n));
42    }
43    printf("\n");
44    free(numbers1);
45    numbers1 = NULL;
46    return 0;
47 }

效果:

注意事项:

静态对象明名字的变量,可以直接对其进行操作,而动态对象是没有名字的变量,需要通过指针间接对它进行操作。

后来想想,其实计算机不会阻止很烂的程序很耗系统资源的运行。

最终,决定水平高低的还是算法,时间和空间复杂度。

SO,计算机不是万能的,人才是决定一切的因素。。。

 

目录
相关文章
|
3天前
|
安全 算法 网络协议
探索Linux操作系统的内核管理
【5月更文挑战第31天】本文将深入探讨Linux操作系统的内核管理机制,包括其设计原则、主要组件以及它们如何协同工作以提供高效的系统性能。通过分析Linux内核的关键特性和功能,我们将揭示这一开源操作系统如何在各种计算环境中保持其稳定性和灵活性。
|
14天前
|
算法 安全 Linux
探索Linux内核的虚拟内存管理
【5月更文挑战第20天】 在本文中,我们将深入探讨Linux操作系统的核心组成部分之一——虚拟内存管理。通过剖析其关键组件和运作机制,揭示虚拟内存如何提供高效的内存抽象,支持庞大的地址空间,以及实现内存保护和共享。文章将重点讨论分页机制、虚拟内存区域(VMAs)的管理、页面置换算法,并简要分析这些技术是如何支撑起现代操作系统复杂而多变的内存需求的。
|
17天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之idea本地测试代码,要增大 Flink CDC 在本地 IDEA 测试环境中的内存大小如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
19天前
|
存储 C++
webserver--Buffer类实现内存缓冲区读写(全代码)
webserver--Buffer类实现内存缓冲区读写(全代码)
|
5天前
|
Java Linux
Linux下如何定位最耗CPU的JAVA代码
Linux下如何定位最耗CPU的JAVA代码
12 0
|
5天前
|
存储 Java 编译器
Java方法的基本内存原理与代码实例
Java方法的基本内存原理与代码实例
13 0
|
5天前
|
缓存 算法 安全
探索Linux内核的虚拟内存管理
【5月更文挑战第29天】 在现代操作系统中,虚拟内存是支持多任务处理和内存保护的关键组件。本文深入分析了Linux操作系统中的虚拟内存管理机制,包括其地址空间布局、分页系统以及内存分配策略。我们将探讨虚拟内存如何允许多个进程独立地访问它们自己的地址空间,同时由操作系统管理物理内存资源。此外,文章还将涉及虚拟内存所带来的性能影响及其优化方法。
|
6天前
|
移动开发 监控 Android开发
构建高效Android应用:从内存优化到电池寿命代码之美:从功能实现到艺术创作
【5月更文挑战第28天】 在移动开发领域,特别是针对Android系统,性能优化始终是关键议题之一。本文深入探讨了如何通过细致的内存管理和电池使用策略,提升Android应用的运行效率和用户体验。文章不仅涵盖了现代Android设备上常见的内存泄漏问题,还提出了有效的解决方案,包括代码级优化和使用工具进行诊断。同时,文中也详细阐述了如何通过减少不必要的后台服务、合理管理设备唤醒锁以及优化网络调用等手段延长应用的电池续航时间。这些方法和技术旨在帮助开发者构建更加健壮、高效的Android应用程序。
|
12天前
|
存储 Java
【JAVA学习之路 | 进阶篇】ArrayList,Vector,LinkedList内存解析
【JAVA学习之路 | 进阶篇】ArrayList,Vector,LinkedList内存解析
|
12天前
|
消息中间件 存储 安全
【Linux 系统】进程间通信(共享内存、消息队列、信号量)(下)
【Linux 系统】进程间通信(共享内存、消息队列、信号量)(下)