坚持结构,获取和放置

时间:2016-10-20 10:30:52

标签: c structure header-files

我坚持使用这段代码 我将此头文件(header.h)保存在我保存main.c的同一文件夹中

struct user{
     int userID;
     char firstName[30];
     char surName[30];
};

这是header.h所属的main.c文件。

#include <stdio.h>
#include <header.h>

int main()
{
    struct user Richard;
    struct user Kelvin;
    struct user Ann;

    Richard.userID = 1;
    Kelvin.userID = 2;
    Ann.userID = 3;

    puts("Enter the first name of user 1");
    gets(Richard.firstname);
    puts("Enter the Surname of user 1");
    gets(Richard.surname);

    puts("\n\nEnter the first name of user 2");
    gets(Kelvin.firstname);
    puts("Enter the Surname of user 2");
    gets(Kelvin.surname);

    puts("\n\nEnter the first name of user 3");
    gets(Ann.firstname);
    puts("Enter the Surname of user 3");
    gets(Ann.surname);

    printf("\n\n user 1 ID is %d \n", Richard.userID);
    printf("user 1 full name is %s %s. \n\n", Richard.firstname,Richard.surname);
    printf("user 2 ID is %d \n", Kelvin.userID);
    printf("user 2 full name is %s %s. \n\n",  Kelvin.firstname,Kelvin.surname);
    printf("user 3 ID is %d \n", Ann.userID);
    printf("user 3 full name is %s %s. \n", Ann.firstname,Ann.surname);
    return 0;
}

我使用CodeBlocks。此代码无法运行。运行此代码时,构建日志显示为fatal error: header.h: No such file or directory #include <header.h>  我无法找到此代码的错误。

3 个答案:

答案 0 :(得分:2)

在main.c代码中,
#include <header.h>替换为#include "header.h"

header.c代码中,
将surName替换为姓氏 将firstName替换为firstname

答案 1 :(得分:1)

请勿使用#include<header.h>

使用#include "header.h"

答案 2 :(得分:1)

有几个人注意到,你应该使用这种语法:

#include "header.h"

如果在#include语法中使用尖括号,编译器会在系统目录中查找您的文件。

如果使用引号,编译器会首先在c文件所在的同一目录中查找该文件,并且只有在找不到该文件时,它才会在系统目录中查找。

您应该始终对自己编写的文件使用引号。保留标准库(和可能其他库)的尖括号。