为了账号安全,请及时绑定邮箱和手机立即绑定

【备战春招】第十六天数组的初始化

标签:
嵌入式

课程内容:

数据的初始化

含义

在定义数组的同时,给数组中的每一个成员变量,赋予一个初始的值.

初始化

完全初始化

示例

int a[5] = {10,20,30,40,50};

示例含义

a[0] = 10, a[1] = 20, a[2] = 30,a[3] = 40,a[4] = 50

部分初始化

示例

int a[5] = {10,20,30};

实例含义

部分初始化:未初始化的值,系统默认为0.

a[0] = 10, a[1] = 20, a[2] = 30,a[3] = 0,a[4] = 0

错误写法

int a[5] = 1,2,3,4,5; //error

无大括号

int a[5]; //a[0]~a[4]

a[5] = {1,2,3,4,5}; //error

一定要在声明类型的同时给他赋值

int m = 5;

int a[m]; //error

元素个数不是常量

个别情况

示例

省略元素的个数,根据初始化的个数分配内存空间

int a[] = {10,20,30,40,50,60,70};

int len = sizeof(a)/sizeof(a[0]);

//a[0] = 10 a[1] = 20 … a[6] = 70;

特点

系统会根据用户初始化的元素个数来分配对应的内存空间。

常见错误

//int a[7]; //true

//int a[]; //error

//int a[] = {}; //error

//int a[] = {5}; //true ,只有一个元素 a[0]

字符数组和字符串

字符数组定义

它是一个char/unsigned char类型的数组,常用来存放字符或字符串。

存放形式

存放字符

char buf[5] = {‘A’,‘B’,‘C’,‘D’,‘E’};

字符数组除了存放字符和字符串还可以存放整数

char buf[5] = {65,66,67,68,69}; //true;

存放字符串的三种写法

char buf[30] = “welcome”;

char buf[30] = {“welcome”};

char buf[30] = {‘w’,‘e’,‘l’,‘c’,‘o’,‘m’,‘e’,’\0’};

单字符储存后面会有个’\0’

字符串的输入和输出

输入

char buf[100] = {0};

scanf("%s",字符数组的首地址); //scanf("%s",buf);

功能:用户从键盘输入任意一段字符串,存放到buf中。以回车,空格,tab键盘作为用户输入的结束符号。

输出

char buf[] = {“hello world”};

printf("%s\n",字符数组的首地址); //printf("%s\n",a);

功能: 输出数组中第一个’\0’之前所有的字符,并显示到屏幕上。

若是用户对应字符数组中没有’\0’,则用户输出乱码.

学习收获:

通过本章学到了 数组没有赋值的默认会为0,然后还有字符数组和字符串有差别

相同的数据,字符会有一个默认的’\0’

截图打卡:

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消