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);是什么意思呢(具体点) 把 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]