无类型&&malloc

无类型&&malloc

1、malloc是什么?

malloc的全称是memory allocation,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存,且分配的大小就是程序要求的大小。

1.1malloc 代码原型:

void * malloc(size_t size)

void*是无类型,返回的是无类型指针

2.怎么定义?

定义整型数组,元素个数为3;
定义整型指针指向这个空间=(强制转换类型:int *)malloc(元素个数乘以数组字节大小等于数组的大小)
代码解释如下:

int a[3];
int *a=(int *)malloc(3*sizeof(int));

3、数组的定义更加便捷

3.1需要输出多少个就输出多少个:

#include <stdio.h>
#include <stdlib.h>
int main()
{
   // int a[3];
   /*int *a=(int *)malloc(3*sizeof(int));
    int i;
    for(i=0;i<3;i++){
        a[i]=i;
        
    }
      for(i=0;i<3;i++){
        printf("%d",a[i]);
        
    }*/
    
    //数组定义的四种方式: 三种合法,最后一种有些教材不允许,说非法
    int n;
    printf("请输入你整型数组的元素总个数\n");
    scanf("%d",&n);
   //int parray[n];
    printf("n=%d\n",n);
    int *parray=(int*)malloc(n*sizeof(int));
    int i;
    for(i=0;i<n;i++){
        printf("请输入第%d个学生的成绩:\n",(i+1 ));
        scanf("%d",&parray[i]);
    }
     for(i=0;i<n;i++){
      printf("请第%d个学生的成绩是%d:\n",(i+1 ),*parray++);
     }
    return 0;
}


1 师承陈立臣。
作者:Prince Boy


  1. 欢迎大家借鉴学习,本文如有不足,欢迎指正! ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑桃鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值