数据类型P36-P50

Q1:变量在不同的操作数机器上大小不同吗?

32位编译器:                                                                                                                                                                              char :1个字节

      char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
      short int : 2个字节
       int:  4个字节
      unsigned int : 4个字节
      float:  4个字节
      double:   8个字节
      long:   4个字节
      long long:  8个字节
      unsigned long:  4个字节

  64位编译器:

      char :1个字节
       char*(即指针变量): 8个字节
      short int : 2个字节
       int:  4个字节
      unsigned int : 4个字节
      float:  4个字节
      double:   8个字节
       long:   8个字节
      long long:  8个字节
       unsigned long:  8个字节
Q2:何为实参,何为形参,两者间有什么关系?
   A:首先关于变量的作用范围做个简单的说明,任何函数定义的变量只能自己使用,函数与函数之间是平行的。当函数体内部函数与外部函数相重复时,函数内部的函数覆盖外部函数变量,但是只在函数体内部有用。此外当外部变量定义在函数体之后,而且又在函数内部没有定义的话,那么这个变量在这个函数是无意义的。
     那么我们怎么理解形参和实参之间的关系
main( ) 
{ int a,b,c; 
scanf("%d%d",&a,&b); 
c=max(a,b); 
printf("max is %d",c); 

max(int x,int y) /*定义有参函数max*/ 
{ int z; 
z=x>y?x:y; 
return(z); 
}
以此函数为例。变量x y即为形参 实参 是a b 。x y参数只是完成了解释这个函数的作用,而真正的我们用到的最后输出的参数是a b所以 a b是实参

Q3:static修饰后的局部变量,在作用上有什么区别?
   首先,被static定义的变量,无法被其他程序调用,在别的函数中有重名的变量也没有问题,其次 static定义的函数,在被调用的时候,他只会被初始化一次 这个是重点。其生存周期,存储空间都发生了变化,但是它作用的范围是没有任何变化的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值