使用c中的指针初始化结构的构造函数值[重复]

问题描述 投票:0回答:1
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
struct Person {
char name[50];
     int year_of_birth;
    char sex[7];
    char father[50];
    char mother[50];
    char significant_other[50];
    char children[50];
};

struct Person* person_constructor(char *name, int year_of_birth, char *sex);

int main(){

struct Person* p1 = person_constructor("Abbas", 1970, "male");

}

struct Person* person_constructor(char *name, int year_of_birth, char *sex) {
   struct Person *p;
    printf("%s",*name); 
    printf("%s",*sex);
    printf("%d",&year_of_birth);
// how to initalise these here and return name, age and sex everytime , can you tell me in print function
}

我想做:人* person_constructor(字符*名称,出生年份int,字符*性别);具有给定参数的人并将其返回。还分配内存。

c pointers structure
1个回答
1
投票

在下面的示例代码中,您可以找到问题的一种可能的解决方案。在C语言中,不可能返回一个以上的变量,但是您可以返回指向构造结构对象的指针,并使用符号stuct_ptr-> struct_member来访问结构成员。

© www.soinside.com 2019 - 2024. All rights reserved.