77范文网 - 专业文章范例文档资料分享平台

C语言数组基础知识讲解(3)

来源:网络收集 时间:2020-12-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

C语言数组基础知识讲解

从中可以看出两点:

A. 如果指派初始值后面还有值,则后面的值会被用于初始化后续的元素。上例中, iarr[3] 被初始化为 1 ,它后续的元素iarr[4] 被初始化为 5。

B. 如果初始化列表中多次出现对某元素的初始化,则以最后一次为准。上例中, iarr[1] 先被初始化为 3,然后被 [1] = 8 指派初始化为 8。

4. 给数组元素赋值

我们可以利用下标给特定的元素赋值。例如:

intiarr[5];

iarr[0] = 100; /* 赋值给第一个元素 */

iarr[4] = 120; /* 赋值给第五个元素 */

iarr[2] = 180; /* 赋值给第三个元素 */

C 不允许直接使用数组对别的数组进行赋值,也不允许使用初始化列表对数组进行赋值。例如:

int iarr_1[5] = { 1, 2, 3, 4, 5 }; /* 正确 */

int iarr_2[5];

iarr_2 = iarr_1; /* 错误! */

iarr_2[5] = { 3, 4, 5, 6, 7 }; /* 错误! */

iarr_2[5] = iarr_1[5]; /* 越界! */

最后一个语句发生了越界!因为这两个数组都只有 5 个元素,而使用下标 5 访问的是第六个元素!

5. 数组界限(array bounds)

使用下标时,我们必须确保下标没有越界。例如:

intiarr[46];

这个数组的下标范围是 0 到 45,确保下标没有超出这个范围是我们的责任,因为编译器不会对下标越界进行检测!

C 标准没有定义下标越界的后果,也就是说,当我们写的程序中出现下标越界的问题,程序可能正常工作,也可能异常退出,还有可能出现其它奇怪的情况。

#include <stdio.h>

int main(void)

{

int var_1 = 20;

intarr[5];

int var_2 = 40;

printf("var_1: %d, var_2: %d ", var_1, var_2);

arr[-1] = -1;

arr[5] = 5;

printf("%d %d ", arr[-1], arr[5]);

printf("var_1: %d, var_2: %d ", var_1, var_2);

return 0;

}

上述程序使用Dev-C++ 4.9.9.2 编译运行的输出为:

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C语言数组基础知识讲解(3)在线全文阅读。

C语言数组基础知识讲解(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1164792.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: