C#动态分配数组大小函数

public static Array Redim(Array origArray,Int32 desiredsize)
{
 //确定每个元素类型 
 Type t=origArray.GetType().GetElementType();
 //创建一个含有期望元素个数的新数组
 //新数组的类型必须匹配原数组的类型
 Array newArray=Array.CreateInstance(t,desiredsize);
 //将原数组中的元素拷贝到新数组中
 Array.Copy(origArray,0,newArray,0,Math.Min(origArray.Length,desiredsize));
 return newArray;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用malloc函数来分配一个结构体数组。首先,您需要定义一个结构体类型,然后使用malloc函数来为结构体数组分配内存空间。 以下是一个示例代码: ```c#include <stdio.h> #include <stdlib.h> typedef struct { int id; char name[20]; } Student; int main() { int num_students; printf("请输入学生的数量:"); scanf("%d", &num_students); // 使用malloc为结构体数组分配内存空间 Student *students = (Student*)malloc(num_students * sizeof(Student)); if (students == NULL) { printf("内存分配失败\n"); return1; } // 输入学生信息 for (int i =0; i < num_students; i++) { printf("请输入第%d个学生的ID:", i+1); scanf("%d", &(students[i].id)); printf("请输入第%d个学生的姓名:", i+1); scanf("%s", students[i].name); } // 打印学生信息 printf("\n学生信息:\n"); for (int i =0; i < num_students; i++) { printf("学生%d:ID:%d,姓名:%s\n", i+1, students[i].id, students[i].name); } //释放内存 free(students); return0; } ``` 在上述代码中,我们首先定义了一个名为Student的结构体类型,它包含一个整型成员id和一个字符数组成员name。然后,我们使用malloc函数为结构体数组分配了内存空间,分配的大小为num_students乘以结构体Student的大小。接下来,我们通过循环输入每个学生的id和姓名,并最后打印出学生信息。最后,使用free函数释放了之前分配的内存空间。 希望这个示例能对您有帮助!如果您还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值