c语言结构体小知识

 

引自:http://c.biancheng.net/cpp/html/88.html

结构体在内存中是连续存储的

struct stu{
    char *name;  //姓名
    int num;  //学号
    char sex;  //性别
    float score;  //成绩
} stu1, stu2 = { "Tom", 10, 'M', 90 };
不过整体赋值仅限于上面这样的情况,也就是定义结构体的同时声明变量。下面的写法是错误的:
stu2 = { "Tom", 10, 'M', 90 };

 

#include <stdio.h>
#define STU struct stu
int main(){
    STU{
        char *name;  //姓名
        int num;  //学号
        char sex;  //性别
        float score;  //成绩
    };
    STU stu1;
    stu1.name = "James Bond";//用指针指向一个字符串
    stu1.num = 1;
    stu1.sex = 'M';  //用M表示男性,W表示女性
    stu1.score = 99;
    printf("Hello everyone! My name is %s, a naughty boy, but with good scores(%.2f) and top No.(%d)!", stu1.name, stu1.score, stu1.num);
    return 0;
}

 

posted @ 2016-06-10 08:41  我在这儿  阅读(225)  评论(0编辑  收藏  举报