首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用函数中的指针填充结构数组

是一种常见的编程技巧,可以通过传递指针参数来修改结构数组的值。下面是一个完善且全面的答案:

在C语言中,可以使用函数中的指针来填充结构数组。结构数组是一种包含多个结构体元素的数组,每个结构体元素可以包含多个不同类型的数据。通过使用指针参数,我们可以在函数中修改结构数组的值,而无需进行复制操作。

下面是一个示例代码,演示了如何使用函数中的指针填充结构数组:

代码语言:txt
复制
#include <stdio.h>

// 定义一个结构体
struct Person {
    char name[20];
    int age;
};

// 填充结构数组的函数
void fillStructArray(struct Person* array, int size) {
    for (int i = 0; i < size; i++) {
        printf("请输入第 %d 个人的姓名:", i+1);
        scanf("%s", array[i].name);
        printf("请输入第 %d 个人的年龄:", i+1);
        scanf("%d", &(array[i].age));
    }
}

// 打印结构数组的函数
void printStructArray(struct Person* array, int size) {
    for (int i = 0; i < size; i++) {
        printf("第 %d 个人的姓名:%s\n", i+1, array[i].name);
        printf("第 %d 个人的年龄:%d\n", i+1, array[i].age);
    }
}

int main() {
    int size;
    printf("请输入结构数组的大小:");
    scanf("%d", &size);

    // 创建结构数组
    struct Person array[size];

    // 使用函数中的指针填充结构数组
    fillStructArray(array, size);

    // 打印结构数组的值
    printStructArray(array, size);

    return 0;
}

在上面的示例代码中,我们首先定义了一个名为Person的结构体,包含了一个name字符串数组和一个age整数。然后,我们定义了两个函数fillStructArrayprintStructArray,分别用于填充和打印结构数组的值。

fillStructArray函数中,我们通过循环遍历结构数组,并使用scanf函数从用户输入中获取每个人的姓名和年龄,然后将其填充到结构数组中。

printStructArray函数中,我们同样通过循环遍历结构数组,并使用printf函数打印每个人的姓名和年龄。

main函数中,我们首先获取用户输入的结构数组大小,并根据该大小创建了结构数组。然后,我们调用fillStructArray函数来填充结构数组的值,最后调用printStructArray函数来打印结构数组的值。

这样,我们就通过函数中的指针成功地填充了结构数组,并且可以在其他地方使用该结构数组的值。

腾讯云相关产品和产品介绍链接地址:

  • 云函数(Serverless):https://cloud.tencent.com/product/scf
  • 云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 移动开发(移动应用托管):https://cloud.tencent.com/product/baas
  • 存储(对象存储):https://cloud.tencent.com/product/cos
  • 区块链(腾讯区块链服务):https://cloud.tencent.com/product/tbc
  • 元宇宙(腾讯元宇宙):https://cloud.tencent.com/product/tmu
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券