#include <stdio.h> #include <malloc.h> typedef struct lianbiao *ptr; struct lianbiao { int data; ptr next; }; int main(void) { ptr create(); void out( ...
分类:
其他好文 时间:
2020-06-12 20:34:41
阅读次数:
70
一、C++中内存大概分为5个区域(1)栈:函数内的局部变量存放的位置,编译器自动分配和释放(2)堆:new/malloc分配,delete/free 来释放,没有自己释放,只有等程序结束的时候系统才会回收(3)全局/静态存储区:存放全局和静态变量,程序结束时系统释放(4)常量存储区:例如常量字符串等 ...
分类:
其他好文 时间:
2020-06-07 01:01:35
阅读次数:
86
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,1 ...
分类:
其他好文 时间:
2020-06-05 12:55:05
阅读次数:
55
#include <stdio.h> #include <stdbool.h> #include <stdlib.h> //exit 函数需要 #include <malloc.h> #define MAXSIZE 8 typedef struct queue { int* arr; //int 类 ...
分类:
其他好文 时间:
2020-06-04 01:42:21
阅读次数:
70
C 语言的设计者把内存简单粗暴地想象成一个巨大的字节(Byte)数组。事实上,它被更加合理地划分成了两部分,即栈和堆。实际上,它们只是内存中的两块不同的区域,分别用来完成不同的任务而已。 栈栈是程序赖以生存的地方,所有的临时变量和数据结构都保存于其中,供你读取及编辑。每次调用一个新的函数,就会有一块 ...
分类:
编程语言 时间:
2020-06-03 21:57:32
阅读次数:
87
#include <stdio.h> void fun(int** q); void fun2(int** q); main() { int* p; //把p的二级指针传给fun fun(&p); printf("%d", *p); //动态分配内存 fun2(&p); } // void fun( ...
分类:
其他好文 时间:
2020-05-31 16:20:15
阅读次数:
62
前言 像C语言这样的底层语言一般都有底层的内存管理接口,比如malloc()和free()用于分配和释放内存。而对于JavaScript来说,会在创建变量时分配内存,并且在不再使用它们时自动释放内存,这个自动释放内存的过程称为垃圾回收,因为自动垃圾回收机制的存在,让大多JavaScript开发者感觉 ...
分类:
其他好文 时间:
2020-05-29 19:29:28
阅读次数:
60
相信大家在学习C语言的时候,malloc是最早遇到的几个方法之一,这里就来深入的了解下,macOS/iOS中用户空间的内存分配。 引言 首先,我们来看几个有意思的例子,以下几个在x86_64或者ARM64中的运行情况。 1 2 3 char *str = malloc(32); free(str); ...
分类:
其他好文 时间:
2020-05-28 19:35:03
阅读次数:
101
以下包含有前后序的递归和非递归算法 #include<stdio.h> #include<stdlib.h> #define MAXSIZE 20 typedef struct node{ int data; struct node* right; struct node* left; }Node; ...
分类:
编程语言 时间:
2020-05-27 00:51:06
阅读次数:
72
之前刷leecode的一道题的时候,程序老是出错,原因最后找到是因为利用malloc申请了一段连续的内存后,并没有对其初始化,在利用memset对其初始化后,问题就解决了。 不过有些情况下,不对其初始化程序也能正常的运行,就比如如果你能保证变量(指针)都赋值之后使用。 所以为了避免一些不必要的麻烦, ...
分类:
其他好文 时间:
2020-05-24 11:59:55
阅读次数:
69