c语言动态数组

总是在c语言程序中遇到数组动态分配的问题 难点在于c语言并不支持动态数组的分配 所有的变量赋值都必须在程序编译阶段完成 而有时程序的数组长度并不知道 所以这时就要用指针动态分配内存来解决这个问题
下面是一个动态分配一维数组的程序:

 #include <stdio.h>
 #include<stdlib.h>
int main()
{
  int num,*p=0,i;
  printf("输入数组元素个数:");
  /*输入数组元素个数,保存到变量num中*/
  scanf("%d",&num);
  /*动态分配数组存储空间*/
  p = (int *)malloc(sizeof(int)*num);
  /*输入数据*/
  for(i=0;i<num;i++)
  {
      scanf("%d",&p[i]);
  }
  /*输出数据*/
  for(i=0;i<num;i++)
  {
      printf("%d ",p[i]);
  }
  /*删除动态创建的数组*/
  free(p);
  p=null;
return 0;
}

最后要释放指针 防止内存泄漏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值