无法打印结构变量

标签 c struct printf

#include <stdio.h>
#include <stdlib.h>

typedef struct {
    char name[20];
    int age;
} employee;

int main(int argc, char** argv)
{
    struct employee em1 = {"Jack", 19};
    printf("%s", em1.name);
    return 0;
}

这似乎不起作用,因为正如编译器所说,该变量的“struct employee”类型不完整。怎么了?

最佳答案

中删除结构
 struct employee em1 = {"Jack", 19};

你用过

typedef struct
{
char name[20];
int age;
}

目的是不再需要键入 struct。

关于无法打印结构变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283797/

相关文章:

c - 编译后出错

c++ - 如何将 auto_ptr 设置为 NULL

c++ - 用 printf 打印一个字符

c - 如何按降序打印二叉树搜索?

c - C宏中的#x是什么意思?

C - MSVS 2013 "C2374: ' 名称': redefinition, 多重初始化”- 为什么?

arrays - 我如何在 Matlab 中定义结构

c++ - 仅包含结构的结构的填充

c - 更好地理解 c 中可变参数的类型提升

c - printf 在格式字符串中添加一个\n