本文共 1315 字,大约阅读时间需要 4 分钟。
malloc(memory allocate) 函数
realloc re- allocate 重新分配
动态数组的创建步骤
1、让用户输入一个长度
2、根据长度,分配内存空间
3、让用户把数组中的元素依次的赋值;
4、接收用户输入扩展数组长度
5、根据扩展的长度重新分配空间
6、把扩展长度的元素让用户赋值;
7、输出数组
malloc(长度);分配内存
realloc(数组,长度)重新分配空间
范例如下:
main()
{
//1、让用户输入一个长度
printf("请输入数组的长度:");
int length;
scanf("%d",&length);
printf("你输入的长度为:%d\n",length);
//2、根据长度,分配内存空间
// int* == int iArray[]
int* iArray = malloc(length * 4);//分配出指定元素的总空间:3个元素,3 * 4 = 12;
//3、让用户把数组中的元素依次的赋值;
int i;
for(i = 0;i < length;i++){
printf("请输入第[%d]元素的值:",i);
scanf("%d",iArray + i);
}
//4、接收用户输入扩展数组长度
printf("请输入扩展的长度:");
int supportLength ;
scanf("%d",&supportLength);
printf("扩展的长度为:%d\n",supportLength);
//5、根据扩展的长度重新分配空间
iArray = realloc(iArray,(length + supportLength) * 4);
//6、把扩展长度的元素让用户赋值;
for(i=length;i<(length + supportLength);i++){
printf("请输入扩展第[%d]元素的值:",i);
scanf("%d",iArray + i);
}
//7、输出数组
for(i = 0;i < length + supportLength;i++){
printf("iArray[%d]=%d\n",i,*(iArray +i));
}
system("pause");
}
运行如图:
1.定义int (*pf)(int x, int y);
2.赋值 pf = add;
3.引用 pf(3,5);
范例代码:
#include<stdio.h>
#include<stdlib.h>
/**
函数指针
*/
int add(int x,int y){
return x + y;
}
main()
{
//函数指针定义
int (*pf)(int x,int y);
//函数指针赋值
pf = add;
//调用函数指针
int result = pf(30,10);
printf("ressult=%d\n",result);
system("pause");
}
运行结果如图:
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。