C/C++语言指针开空间问题,求大神解决下

什么时候指针需要开空间什么时候不需要................................

动态分配空间的时候,比如编译期间无法确定究竟要用多少内存,使用链表等数据结构

一般情况下是不用开空间的,因为一般情况下就是利用栈,栈是只要你定义一个变量,它自动为你开通。当用到了高级的数据时,这时就需要自已用malloc申请堆的内存,高级数据形式比如链表,二叉树等。

1.在你事先不知道或是不能确定要多大空间的时候,就需要自己去开空间,去动态分配内存;
例如:你定义了一个数组:int array[100];在你定义array数组时候,编译器就已经为你分配好了内存空间;这个时候就不需要你去开辟内存空间了,但是
若你不知道到底有多少元素存放在数组中,这个时候,就不能采用上面的方式了,因为内存申请过大过多,会造成内存空间的浪费;空间过小又会造成溢出问题;因此你可以定义一个char *array指针;来动态分配存储空间;如:

  char *array = NULL;
    array = (char *)malloc(sizeof(char)*num):   //num 为你想输入的sizeof(char)数量

    也可以采用链表,这样更加的方便合理;

博主记得采用我的答案喔。