小编use*_*859的帖子

在C中:如何将结构数组作为指针传递

可能重复:
如何使用c/c ++中的指针传递struct数组?

我有一个结构数组,需要将指向数组的指针传递给函数.

我得到这些编译警告,它在运行时崩溃:

test.c:35:5:警告:从不兼容的指针类型
test.c 传递'displayArray'的参数1 :20:6:注意:期望‘struct tagdata **’但是参数是类型‘struct tagdata (*)[10]’

typedef struct tagdata{
    char lastName[20];
    char firstName[20];
    int age;
} PERSON[10], *PPERSON[];

int genNumber();
void displayArray(PPERSON pPerson);

int main(){
    PERSON personDetails;
    int i;
    char buf[20];

    for (i = 0; i < 10; i++){
        sprintf(buf, "Charlie%d", i);
        strcpy(personDetails[i].firstName, buf);
        sprintf(buf, "Brown - %d", i);
        strcpy(personDetails[i].lastName, buf);
        personDetails[i].age = genNumber();
    }

    displayArray(&personDetails);

    exit(0);
}
void displayArray(PPERSON pPerson){
    int i = 0;

    while (i < 10){
        printf("Last …
Run Code Online (Sandbox Code Playgroud)

c pointers structure

2
推荐指数
1
解决办法
1881
查看次数

标签 统计

c ×1

pointers ×1

structure ×1