前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我的C语言编码习惯(Name与Type)

我的C语言编码习惯(Name与Type)

作者头像
Taishan3721
发布2022-12-05 15:58:52
4400
发布2022-12-05 15:58:52
举报
文章被收录于专栏:这里只有VxWorks这里只有VxWorks

文件名后缀使用小写

文件名/函数名/变量名采用小驼峰式命名法(lower camel case)

宏定义采用全大写加下划线方式

常量使用宏定义,常见的0/1可例外

变量/类型不同名

public头文件放入public目录,引用时使用 #include <>

private头文件与源文件放入同一目录,引用时使用 #include ""

在头文件声明public函数

不声明private函数,使用static类型实现于调用者之前

static变量/函数不放入头文件

不使用全局变量,改为set和get操作的static变量

代码语言:javascript
复制
/* test.h */

#include <vxWorks.h>

extern int myDataGet();
extern void myDataSet(int data);
extern void myTest();
代码语言:javascript
复制
/* test.c */

#include <stdio.h>
#include <test.h>

static int myData = 0;

int myDataGet()
{ // 行首应有4空格缩进,但当前编辑器不支持
    return myData;
    }
void myDataSet(int data)
{
    myData = data;
    }

static int myDataUpdate()
{
    return (myData+1);
    }

void myTest()
{
    myData = myDataUpdate();
    printf("myData is %d\n", myData);
    return;
    }

入参和返回值不直接使用结构体,改用指针

代码语言:javascript
复制
/* test.h */

#include <vxWorks.h>

#define TYPE_INT32 0
#define TYPE_INT16 1

typedef struct
    {
    int   data1;
    short data2;
    }MY_STRUCT1;
typedef union
    {
    int   data1;
    short data2;
    }MY_UNION1;
typedef struct
    {
    int       type;
    MY_UNION1 data;
    }MY_STRUCT2;

extern MY_STRUCT1 *myTest(MY_UNION1 *data);
代码语言:javascript
复制
/* test.c */

#include <stdlib.h>
#include "test.h"

MY_STRUCT1 *myTest(MY_UNION1 *data)
{
    MY_STRUCT1 *pStr = (MY_STRUCT1 *)malloc(sizeof(MY_STRUCT1));
    ...
    return pStr;
    }

函数指针需有完整声明

数据类型不同时,需使用显式类型转换,例如前文的malloc()

局部变量在其作用域起始位置声明

代码语言:javascript
复制
void test(int num)
{
    int data = 0;
    int i;

    for(i=0; i<num; i++)
        {
        int j;
        for(j=0; j<num; j++)
            {
            data += i*NUM_MAX + j;
            }
        }
    printf("data: %d\n", data);
    }
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档