zzk5015377 发表于 2022-3-19 14:34:56

C语言自定义函数指针问题

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int * creat_array(int num)
{
    int i;
    int *b=(int *)malloc(sizeof(int)*num);
    for(i=0;i<num;i++)
    {
    b=i;
    }
    return b;
}
main()
{
int *c=creat_array(10);
   int j;
for(j=0;j<10;j++)
printf("%d\t",c);

}
这段代码
   int *b=(int *)malloc(sizeof(int)*num);是什么意思呢(具体点)

傻眼貓咪 发表于 2022-3-19 15:34:25

把 int *b = (int *) malloc (sizeof(int) * num) 拆开来:

(一)int *b 整数指针(存放整型内存地址)
(二)(int *) 将表达式转换为整数指针类型,比如:(float) a 这里表示将 a 的值转换成浮点类型
(三)malloc C语言动态内存分配 C dynamic memory allocation
(四)sizeof(int) * num 分配大小为 整数大小 * num(意思就是可以存放 num 个整数的大小)
页: [1]
查看完整版本: C语言自定义函数指针问题