qq_37130151
2017-04-13 13:45
采纳率: 87.1%
浏览 1.1k
已采纳

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

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

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • threenewbee 2017-04-13 15:50
    已采纳

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

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Keepgrowing 2017-04-13 23:19

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

    评论
    解决 无用
    打赏 举报
  • 君子黎 2017-04-14 03:26

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

      char *array = NULL;
        array = (char *)malloc(sizeof(char)*num):   //num 为你想输入的sizeof(char)数量
    
        也可以采用链表,这样更加的方便合理;
    
    评论
    解决 无用
    打赏 举报
  • Keepgrowing 2017-04-21 15:11

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题