变量初始化

 变量的初始化是指变量被分配存储空间后的第一次赋值
1.变量自动初始化。
   对于外部变量和静态变量(内部链接的),会自动初始化默认值(int 0,char \o).
   对于自动变量,不会自动初始化成默认值。
#include <string.h>
struct student{
char name[30];
int age;
};
void  fun1(){
int d;
printf(".................d is %d\n",d);
}
int main(void)
{
   struct student a;
   int b;
   char c;
   printf("................address is %s\n",a.name);
   printf("...............b address is %c\n",c);

   fun1();
   return 1;
}
b=0,但是 d的值是不确定的,所以对于变量一定要初始化。
2.变量的手动初始化
  <1>数组的初始化.
   char name[20]="abcdef";// 初始化能这么做,赋值时不能
   char name[20]={'a','b','c','d','e','f','\O'};
  <2>结构体的初始化
   struct student{
    char name[30];
    int age;
   }
   int main(void){
    struct student a={"abcd",10};
    struct student b;
    b.name="dddd";
    b.age=10;
    struct student c[2]={{"dddd",2},{"eee",3}};
  }
3.变量初始化的时间。
   外部变量和静态变量是在编译的时候完成初始化。(通过反汇编可以查看)外部变量和静态变量的区别在于作用域不同.
   <1> 对于 函数外的静态变量具有文件作用域,只能在本文件访问.
   <2> 对于代码快内的静态变量具有代码块作用域,只能在代码块内访问.
   <3> 对于外部变量,它能在任何文件中访问。
   
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值