<分区>
我正在使用 first.c 中的单独单元定义结构,然后使用函数调用 processSructFromMain 在我的主模块中访问它。但是只能直接调用 printf 。调用 processStructFromMain 根本不会产生结果。第二个 printf 中的“Struct2”也没有显示结果。
我做错了什么?
所有的in c, 11标准
主要:
#include <stdio.h>
#include <stdlib.h>
#include "first.h"
void processStructFromMain(myStruct *s){
printf("anotherProcess %s \n", s->name);
}
int main() {
myStruct* s = getStructFromFirst();
printf("Struct1 %s \n", s->name);
processStructFromMain(s);
printf("Struct2 %s \n", s->name);
return 0;
}
先.c
#include "first.h"
myStruct *getStructFromFirst() {
char* chr = "THIS IS STRING \0";
myStruct* s = &(myStruct){.name=chr};
return s;
}
第一个.h
#ifndef TESTONE_FIRST_H
#define TESTONE_FIRST_H
struct MYSTRUCT{
char* name;
};
typedef struct MYSTRUCT myStruct;
myStruct* getStructFromFirst();
#endif //TESTONE_FIRST_H