【c语言问题系列教程之一】变量声明和初始化

一、基本类型

1.c语言整数类型的大小并没有精确的定义,而是随着编译器的类型而变化,ANSI C能保证的只是数据的最小尺寸。char>=8位,short>=16位,int>=16位,long>=32位。

2.因此,可以用typedef定义int16和int32,然后根据实际的机器环境把它们定义为int,short,long等类型。但是,标准头文件<inttypes.h>已经定义了标准名称int16_t,uint32_t等。

二、指针声明

1.c语言中声明的语法为

基本类型  生成基本类型的东西

基本类型不必多说,生成基本类型的东西包括*p,a[10]或者f()这样的符号,表明被生命的变量是指向基本类型的指针,基本类型的数组或者返回基本类型的函数。所以,

char *p1,p2;//p1为指向char的指针,p1为char变量。

2.如果函数的返回值为void时,则声明和定义时应该书写一致。比如:只有下面两种情况

①声明:f();定义:f(){}    ②声明:void f(); 定义:void f(){}  (注:切不可交换使用)

三、声明风格

全局变量和函数在某个相关的.c文件中定义,然后在.h中进行外部声明。在其他需要使用的.c文件中,只需要include对应.h文件即可。(注:定义变量的.c文件也应该包含该头文件,便于编译器检查定义和生命的一致性。)

顺便说一下,声明如下:

extern int i;

extern int f();

定义如下:

int i=0;

int f()

{

return 1;

}

三、存储类型

1.static

(有关static的使用方法,可以参考  static使用方法)

简单起见,同一个静态函数或变量的所有声明都必须包含static存储类型。

2.extern

存储类型extern只对数据声明有意义。对于函数,只是一种格式上的提示,说明函数的定义可能在另外一个函数文件中。

3.auto

没有用途,已经过时。它是从c语言的无类型前身B语言中继承下来的。在B语言中,没有像int这样的关键字,声明必须包含

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值