c语言代码风格

简要:主要介绍了K&R风格和Allman(BSD)风格之间的缩进大小和大括号位置等区别

关于其它的代码风格,详见:Indent style - Wikipedia

 

1、K&R style

When following K&R, each function has its opening brace at the next line on the same indent level as its header, the statements within the braces are indented, and the closing brace at the end is on the same indent level as the header of the function at a line of its own. The blocks inside a function, however, have their opening braces at the same line as their respective control statements; closing braces remain in a line of their own, unless followed by a keyword else or while.

复制代码
int main(int argc, char *argv[])
{
    int i; //

    //...
    while (p != NULL) {
        for (i = 0; i < 10; i++) // an example
            ;
        if (flag == true) {
            p = p->next;
            do_someting();
            break;
        } else
            do_something_else();
        p = p->next;
    }
    //...
    final_thing();
    return 0;
}
复制代码

 

1.1、1TBS(OTBS) style,全称:the one true brace style

与K&R style的区别是:单语句的括号不省略。

复制代码
    //...
    if (flag == true) {
        do_someting();
    } else {
        do_something_else();
    }
复制代码

 

1.2、Linux kernel style

与K&R style的区别是:缩进为8格。

复制代码
int main(int argc, char *argv[])
{
        int i; //

        //...
        while (p != NULL) {
                for (i = 0; i < 10; i++) // an example
                        ;
                if (flag == true) {
                        p = p->next;
                        do_someting();
                        break;
                } else
                        do_something_else();
                p = p->next;
        }
        //...
        final_thing();
        return 0;
}
复制代码

 

2、Allman style(BSD style)

与K&R style的区别是:大括号单独占一行。

复制代码
int main(int argc, char *argv[])
{
    int i; //

    //...
    while (p != NULL)
    {
        for (i = 0; i < 10; i++) // an example
            ;
        if (flag == true)
        {
            p = p->next;
            do_someting();
            break;
        }
        else
            do_something_else();
        p = p->next;
    }
    //...
    final_thing();
    return 0;
}
复制代码

 

以后首选K&R风格,其次Allman(BSD)风格,养成一个好习惯。

posted @ 2024-02-06 11:55  博客园—哆啦A梦  阅读(79)  评论(0)    收藏  举报