搞定typedef 、const 关键字

 

 

typedef 是定义类型用的虽然有时:

 

#define  ptr_char   char *

 

typedef  char *    ptr_char   

 

好像也是差不多哪(我原来就这么认为),但是考虑以下的情况:

 

#define  ptr_char  char *

 

ptr_char  a,b ;

 

那么a b都是指针么? 展开宏定义:

 

char * a, b ;

 

看出来了么? bchar achar * 

 

用:

 

typedef  char *    ptr_char ;

 

ptr_char a,b;

a,b 都是 char *

 

那么,下一个const:(这个更叫人头疼啊!)

 

int const  a =20;//谁都知道

void f1(const  char  a); ;//大概都明白

恩那么

int cosnt a

const int a

有区别么? 没有。

在函数中定义const参数 如:void f1(const  int   a); 那么可以防止a的改动。但是好象C语言本来就是不改实参的,嘛当然了,但是如果是:

 void f1(const  char *   a);

void f1(char *  const   a);

我是一下就忘记的。 解决方法:背诵以下条文.

如果 const 出现在 * 左边,则指针指向的内容为常量;如果 const 出现在 * 右边,则指针自身为常量;如果 const 出现在 * 两边,则两者都为常量。

 

爱好着网上的,真是太强了!读了很多书还是这个记的最快!

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值