GNU的语法

来源:互联网 发布:大数据时代下电子商务 编辑:程序博客网 时间:2024/06/05 01:06

GUN的C和标C有一些语法上的不同,我会把碰到的不同都慢慢添加在本文中:

LINUX系统上可用的C编译器是GNU C编译器,它建立在自由软件基金会的编程许可的基础上,因此可以自由发布。GNU C对标准C进行了一系列的扩展,以增强标准C的功能。

1 结构体

标C中要求数组或结构体的初始化值必须以固定的顺序出现,在GNU C中,通过指定索引或结构体成员名,允许初始化值以任意顺序出现。

举例:

#include <stdio.h>

struct node {
    int id;
    int num;
    char *name;
};

int main()
{
    struct node student = {
        .num = 2,
        .id = 001,
        .name = "xiaoming",
    };

    printf("name:%s id:%d num:%d\n",
        student.name, student.id, student.num);
    return 0;

}

打印的结果:



原创粉丝点击