清明节期间学习记录,无愧对先人啊~~~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,计算机不是万能的,人才是决定一切的因素。。。

 

目录
相关文章
|
7月前
|
存储 人工智能 搜索推荐
一种专为AI代理设计的内存层,能够在交互过程中记忆、学习和进化
Mem0 是专为 AI 代理设计的内存层,支持记忆、学习与进化。提供多种记忆类型,可快速集成,适用于开源与托管场景,助力 AI 代理高效交互与成长。
737 123
一种专为AI代理设计的内存层,能够在交互过程中记忆、学习和进化
|
7月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
679 0
Linux内存问题排查命令详解
|
缓存 Linux
linux 手动释放内存
在 Linux 系统中,内存管理通常自动处理,但业务繁忙时缓存占用过多可能导致内存不足,影响性能。此时可在业务闲时手动释放内存。
793 17
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
2591 6
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
841 2
|
存储 安全 Linux
|
11月前
|
缓存 Linux 数据安全/隐私保护
Linux环境下如何通过手动调用drop_caches命令释放内存
总的来说,记录住“drop_caches” 命令并理解其含义,可以让你在日常使用Linux的过程中更加娴熟和自如。
1767 23
|
监控 Linux Python
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
428 27
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
1282 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
消息中间件 Linux
Linux中的System V通信标准--共享内存、消息队列以及信号量
希望本文能帮助您更好地理解和应用System V IPC机制,构建高效的Linux应用程序。
525 48
下一篇
开通oss服务