c和c++ struct比较

c

#include <stdio.h>

// 注意 typedof 需要定义name
typedef struct Dog {
    
    
    int id;
    const char *name;
} DD;

typedef struct Pig {
    
    
    int id;
    char *name;
} Hog;

struct Tiger {
    
    
    int id;
    char *name;
};
//
struct Lion {
    
    
    int id;
    char *name;
} e1, e2;


int main() {
    
    

    // 需要struct
    struct Dog dog = {
    
    1, "dog"};
    DD dd = {
    
    1, "dd-dog"};

    // 需要struct
    struct Pig pig = {
    
    2, "pig"};
    Hog hog = {
    
    3, "hog"};

    struct Tiger tiger = {
    
    4, "tiger"};

    struct Lion lion = {
    
    5, "lion"};

    printf("dog.name=%s \n", dog.name);
    printf("pig.name=%s\n", pig.name);
    printf("hog.name=%s\n", hog.name);
    printf("tiger.name=%s\n", tiger.name);
    printf("lion.name=%s\n", lion.name);

    e1.name = "e1-lion-name";

    printf("e1.lion.name=%s\n", e1.name);
    printf("e2.lion.name=%s\n", e2.name);


    return 0;
}

c++

#include <cstdio>

typedef struct Dog {
    
    
    int id;
    const char *name;
} DD;

typedef struct Pig {
    
    
    int id;
    const char *name;
} Hog;

struct Tiger {
    
    
    int id;
    const char *name;
};

struct Lion {
    
    
    int id;
    const char *name;
} e1, e2;


int main() {
    
    
    Dog dog = {
    
    1, "dog"};
//
    Pig pig = {
    
    2, "pig"};
    Hog hog = {
    
    3, "hog"};
//
    Tiger tiger = {
    
    4, "tiger"};
//
    Lion lion = {
    
    5, "lion"};

    printf("helloworld %s", "c");

    printf("dog.name=%s \n", dog.name);
    printf("pig.name=%s\n", pig.name);
    printf("hog.name=%s\n", hog.name);
    printf("tiger.name=%s\n", tiger.name);
    printf("lion.name=%s\n", lion.name);

    e1.name = "e1-lion-name";

    printf("e1.lion.name=%s\n", e1.name);
    printf("e2.lion.name=%s\n", e2.name);


    return 0;


}

猜你喜欢

转载自blog.csdn.net/kq1983/article/details/114394449