要理解malloc函数就必须理解指针的指针,引用,指针的引用,以及动态内存分配。
程序中的内存分为两种:栈内存和动态内存。
静态声明定义变量都是在栈内存中分配空间,在栈空间中会自动释放,而动态分配内存空间是在动态内存空间中开辟的,其中开辟的空间不会自动释放。
这里我还想重申一下数组。
例如在主函数中写到int a[10];
这里的a[10]是在程序运行之前就分配好了的,因此中括号里的数不能是变量,因为要事先就分配好,所以如果不知道变量的值该怎么在程序开始之前就分配好呢?这里的空间分配是在栈空间的。