C语言变量声明因注意

1.声明指针
     int  *a;
     int*  a;
     这两种声明的意思是一样的。
但是 
     int* b,c,d;
     人们很自然的认为三个变量声明为指向整型的指针,但事实并非如此。其实b是个指针,其余两个是整型变量。
要声明三个指针,正确的语句是:int *b,*c,*d;
char *message="Hello world!";
看上去是赋给了表达式*message,事实上它是赋给了message本身。相当于:
char *message;
message="Hello world!";

2.隐式声明
函数如果不显式地声明返回值的类型,它就默认返回整型。当用旧风格声明函数的形式参数时,如果省略了参数的类型,编译器会默认它们为整型。最后,如果编译器可以得到充足的信息,推断出一条语句实际上是一个声明时,如果它缺少类型名,编译器会假定它为整型。但是,这不是一个好方法。

3.typedef声明与基本的声明相同,只是typedef关键字出现在声明的前面。
typedef char *ptr_to_char;
这样这个声明把标识符ptr_to_char作为指向字符的指针类型的新名字。就可以像使用任何预定义名字一样在下面的声明中使用这个新名字。
ptr_to_char  a;
声明a是一个指向字符的指针。
提示:应该使用typedef而不是#define来创建新的类型名,因为后者无法正确地处理指针类型例如:
#define d_ptr_to_char char *
d_ptr_to_char a,b;
其实上面程序只正确声明了a,而b却被声明为一个字符。相当于:char * a,b;

4.常量的声明
int const a;
const int a;
这两条语句都把a声明为一个整型常量,它的值不能被修改
int *pi;
pi是一个普通的指向整型的指针。
int const *pci;
是一个指向整型常量的指针。可以修改指针的值,但不能修改它所指向的值。
int * const cpi;
pci是一个指向整型的常量指针。此时指针是常量,无法修改,但是可以修改它所指向的整型值。
int const * const cpci;
无论是指针本身还是指向的值都是常量,不允许修改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值