动态定义数组malloc--C语言

鸡兔同笼问题 分析过程:

刚做出来的只能输入一个数字进行判断;

后来仔细看了题目

发现题目要求输入一系列数组

就想着用循环,还是不符合题目要求

又想着用动态数组,又看到了链表,以前学的链表,现在竟然忘的差不多了,回忆了一下,慢慢想起来了,

又再仔细看了一遍题目,苍天啊,我审题怎么这么不严谨。。

简单的题目做了好几个小时,囧

题目已经明确规定了第一个输入的数字是数组的大小,我还在纠结链表,扑哧。。。

于是赶紧想了下如果定义动态数组,用到了malloc。。。动态数组的定义这里也走了一些弯路。

这里将动态定义数组好好总结一下:

malloc 向系统申请分配指定size个字节的内存空间,返回类型为void* ,void*表示未确定类型的指针。

使用举例说明:

比如我想将用户的输入数据放到一个数组,因为我不知道用户会输入多少个数,所以我就不知道这个数组定义多大为好

但是我可以让用户先输入自己的数组里面放多少个数,比如说n,然后再定义动态数组

    int n;
    scanf("%d",&n);
    int *a=(int *)malloc(n*sizeof(int));//定义动态数组 相当于int a[n]

a就是数组名,也是一个整型的指针,指向的是申请的这段空间的首地址。接下来就可以将用户输入的数据存放到这个数组中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值