2-4小时突击C语言(3)

作用域规则

作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量:

1、在函数或块内部的局部变量

2、在所有函数外部的全局变量

3、在形式参数的函数参数定义中

例子:

#include <stdio.h>
 
/* 全局变量声明 */
int a = 20;
 
int main ()
{
  /* 在主函数中的局部变量声明 */
  int a = 10;
  int b = 20;
  int c = 0;
  int sum(int, int);
 
  printf ("value of a in main() = %d\n",  a);
  c = sum( a, b);
  printf ("value of c in main() = %d\n",  c);
 
  return 0;
}
 
/* 添加两个整数的函数 */
int sum(int a, int b)
{
    printf ("value of a in sum() = %d\n",  a);
    printf ("value of b in sum() = %d\n",  b);
 
    return a + b;
}

输出结果:

value of a in main() = 10

value of a in sum() = 10

value of b in sum() = 20

value of c in main() = 30

因为函数的参数,形式参数,被当作该函数内的局部变量,如果与全局变量同名它们会优先使用。

这个知识点笔试会考到。

全局变量与局部变量在内存中的区别:

 全局变量保存在内存的全局存储区中,占用静态的存储单元;

 局部变量保存在栈中,只有在所在函数被调用时才动态地为变量分配存储单元。

这个知识点面试会考到。

数组

数组是一种数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。所有的数组都是由连续的内存位置组成。

数组中的特定元素可以通过索引访问,第一个索引值为 0。

例如:

int arr[10];

现在arr是一个可用数组,可以容纳10个类型为int得数字。

初始化数组

int arr[5]={1, 2, 3, 4, 5};

大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。

也可以这样初始化:

int arr[]={1, 2, 3, 4, 5};

如果要对某个元素赋值,则

arr[4] = 10;

上述的语句把数组中第五个元素的值赋为10。

深入了解数组:多维数组、传递数组给函数、从函数返回数组、指向数值的指针

枚举(enum)

定义一个枚举类型,需要使用 enum 关键字,后面跟着枚举类型的名称,以及用大括号 {} 括起来的一组枚举常量。

选择题考点。

enum 枚举名 {枚举元素1,枚举元素2,……};

比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:

#define MON 1

#define TUE 2

#define WED 3

#define THU 4

#

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

本专栏主要是介绍嵌入式软件开发岗位的相关知识和学习攻略,为大家提供一份笔试与面试手册。包括有嵌入式软件开发岗位介绍与学习攻略;校园招聘和offer疑惑问题的介绍;在笔试方面,如何刷题为笔试作准备,提供往年笔试真题;在面试方面,提供相关知识的复习重点,提供面试真题。包括有:华为、蔚来、文远、大疆、三一、深信服、亚马逊、Intel、百度、科大讯飞、OPPO、京东、中兴、比特大陆|算能、美团等等

全部评论
楼主是c大神啊,牛
1 回复 分享
发布于 2023-04-09 21:48 广东
好东西啊,正好能复习下
点赞 回复 分享
发布于 2023-04-09 22:18 广东
😀
点赞 回复 分享
发布于 02-04 22:11 山东

相关推荐

头像
10-15 22:27
已编辑
门头沟学院 C++
罗格镇的小镇做题家:我投了hr打电话来说学历太低了不符合要求,建议投荣耀,结果荣耀也投了一定水花没有,非本211硕
投递华为等公司10个岗位
点赞 评论 收藏
分享
1 3 评论
分享
牛客网
牛客企业服务