作用域,变量(static,extern)

1.extern 既可以在同文件中使用也可以跨c文件使用,在同文件可以跨作用域。
2.全局变量 int a;初始化默认为0
局部变量int a;初始化可能为随机值,有些平台可能无法通过
如果加static默认为0
3.static既可以修饰全局变量也可以修饰局部变量
static局部变量初始化值执行一次

void fun()
{
 int a=1;
 printf("a=%d",a++);//开辟的空间随用随开,执行程序后消失 
    static int b=1; 
    printf("  b=%-5d",b++);//static的初始化值执行一次 
}
int main(void) 
{
 int a;
    for(int i=0;i<5;i++)
    {
     fun();
     putchar(10);
 }
}

在这里插入图片描述
二://全局变量, 会带来命名污染,全局可用,避免传参。
//一个全 局变量,天然的拥有外延性,可以被其它的文件所引用,extern
//static 修饰全局变量以后, 处延性消失,变成本文件内部的全局变量,即使两个c文件定义的重名全局变量,也不会有问题,加static后局限在本文件中,所以在c文件中如果加咯static的全局变量,在其他C文件中即使用extern也无法调用。

字符串常量在C语言中是怎么处理的:
//字符串是,是由双引号,引起的一串字符。系统在字符串常最后添加了一个字符“\0' ,

//大小,存储//c语言,是如何处理常量字符串的。将其处理一- 个向data段这段字符串的首地址//对比数组,三要素,起始地址,步长,范围
//char*能不能代表了整个字符串,起始地址 步长 \0’可以带表整个字符串 int (char)0x035263*
在这里插入图片描述

换行的几种形式

  1. puts(" ");//会打印\0,所以起换行作用
  2. puts(a[]);//打印完会自动换行
    putchar(10);
    printf("\n");

字符串的输入
1.scanf 遇到空格就结束输入
2.gets 可以读取空格
3.fgets(a,10,stdin);
数组名 字节个数 stdin
需注意,数组里要放\0,故肯定数组里少一个字节元素

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值