Можно ли использовать две разные структуры в одном и том же коде? - PullRequest
0 голосов
/ 12 февраля 2019

Мне нужно добавить другую структуру в мой код, и я хочу знать, возможно ли это?Ниже приведен фрагмент того, что я хочу сделать.

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include "math.h"
#define MAX_CARS 10

struct car {
  double vel, position, desired_vel;
  int index, on_network;
};
typedef struct car Car;

struct car_2 {
  double vel_2, position_2, desired_Vel_2;
  int index, on_network;
};

typedef struct car_2 Car_2;

Ответы [ 3 ]

0 голосов
/ 12 февраля 2019

Да, вы можете использовать столько, сколько хотите.Пример кода, как показано ниже:

#include <stdio.h>
struct car_dim
{
    int feet;
    float inch;
} card;

struct showroom_loc
{
    int lid;
    int pin;
} carl;

int main()
{
    printf("enter the information for card struct\n");

    printf("Enter feet: \n");
    scanf("%d", &card.feet);

    printf("Enter inch: \n");
    scanf("%f", &card.inch);

    printf("enter the information for car location struct\n");

    printf("enter lid e\n");    
    scanf("%d", &carl.lid);

    printf("Enter pin: \n");
    scanf("%f", &carl.pin);

    printf("struct card= %d\'-%.1f\"", card.feet, card.inch);        
    printf("\nstruct carl= %d\'-%.1f\"", carl.lid, carl.pin);
    return 0;
}
0 голосов
/ 12 февраля 2019

Вы можете использовать столько структур в вашем коде , сколько вам нравится , если их имя отличается.

Однако в вашем примере члены вашегоструктуры идентичны, может быть, вы хотите сделать что-то подобное?

#define MAX_CARS 10

struct car {
    double vel, position, desired_vel;
    int index, on_network;
};
typedef struct car Car;

int main() {

    // You can define as many instances of type "Car" as you want
    Car car1;
    Car car2;
    Car car3;

    // Or you can use arrays
    Car cars[MAX_CARS];

    cars[0].desired_vel = 100.0;
    cars[1].desired_vel = 120.0;
    // and so on

    return 0;
}
0 голосов
/ 12 февраля 2019

Вы можете иметь неограниченное количество типов структур в вашем коде.Однако в этом случае, поскольку они оба идентичны, вы можете повторно использовать структуру Car и создавать с ней отдельные экземпляры.

Car car1;
Car car2;
car1.vel = 5.0;
car2.vel = 10.0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...