C中需要注意的几个小问题

1.ARM 芯片对于超过4个参数的处理。

2.结构体字节对齐。

3.空结构体所占字节数为1。

4.C99中,结构中的最后一个元素可以使未知大小的数组,即为头型数组,但是结构体的柔性数组前面必须至少有一个其他成员包含一个大小可变的数组。

5.C语言结构体里面也可以包含函数,如同类中有方法一样,但是不能通过直接放过一个函数进去,需要通过函数指针的方式,同时,关于类的构造函数与析构函数C语言表示是没有的。

6.编译器用空格替换注释。

7.的优先级高于*,->操作符。

8.[]高于*。

9.函数()高于*。

10.== 和 !=高于位操作。

11.==和!=高于赋值符。

12.算术运算符高于位移运算符。

13.逗号运算符在所有运算符中优先级最低。

14\作为连接符使用时,本行后面不能再接任何字符,空格都不行。

15.函数类型本身没有类型,只有函数的返回值才有类型。

16.尽量使用编译器而不使用预处理。

17.怎么理解复杂语句定义,使用“右左法则”:

     从变量名看起,先往右,再往左,碰到一个圆括号就调转阅读方向。

     括号内分析完就跳出括号,还是先右后做的顺序。

     依此循环。

     typedef不能与auto/extern/static/register连用,只可以与const连用,因为const是用来改变类型的,别的关键字是用来说明存储类别的。

typedef char* PSTR;
int mystrcmp(const PSTR, const PSTR);


    那么const PSTR实际上相当于 const char *还是 char *const?
    --相当于char *const

int *(*a[5])(int,char *)
typedef  int*(*pFun)(int,char *);
pfun a[5];
void (*b[10])(void(*)());
typedef void (*pFun1)();
typedef void (*pFun)(pFun1);
pFun b[10];

 

......

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雲烟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值