博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言中数组相关问题
阅读量:5239 次
发布时间:2019-06-14

本文共 1046 字,大约阅读时间需要 3 分钟。

c语言中数组相关问题:

1.数组基本定义: 相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

 

2.语法:  数据类型 + 数组名+[元素个数]

3.初始化:初始化方式: int  a[5]={1,2,3,4,5}。

 

编译器会根据初始化使用的元素个数自动提供个数。比如:inta[]={1,2,3},元素个数为3.

 

数组使用时应该注意的事项

1,如果初始化时在后方元素赋值不全,没有初始化的元素,默认值为0 ;

2.数组中每一个变量称为元素。每个变量的位置是确定的。使用从0开始的序号进行访问。序号称为下标或者索引。

3.存放一维数组的数组称为二维数组。

4.数组的类型:数据类型表示数组元素的类型是什么。元素中的数据类型是统一的。

5.数组元素个数不允许时浮点数。可以是整数表达式。数组元素就是变量,直接可以用:如sum=a[1]+a[2];

6数组初始化方式:如:inta[5]={1,2,3,4,5},如果初始化时不完全:没有初始化的元素,默认值为0 ;

7.编译器会根据初始化使用的元素个数自动提供个数,如下文:

int a[]={1,2,3},元素个数为3.,sizeof(a)=12(每个元素占四个字节所以一共12字节);

14,使用数组求n个数的统计

15.栈和堆的概念。利用数组模拟栈的结构。

 

下面介绍一个数组在打印的时候溢出的问题:

//

// main.c for  Xcode6.0

//  当我定义了一个可以盛放十个元素的数组arry[10]并赋值之后,使用printf函数加一个for循环体进行打印,这个时候有趣的事情发生了:

在printf下方的循环体中,由于循环条件设置不当,导致我对数组的打印下标越界。当打印a[10]时,printf函数自动将内存中本来存在的乱码打印出来了。

所以,下标越界问题,是程序猿使用数组时经常犯,也必须注意的问题。因为,这个bug编译器是不会报错的。

其实内存中数组的存放方式是这样的:

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/wahy/p/4817263.html

你可能感兴趣的文章
Kruskal基础最小生成树
查看>>
ubuntu 14.04 安装搜狗拼音输入法
查看>>
浅谈算法和数据结构: 一 栈和队列
查看>>
Java内部类详解
查看>>
【hdu 1429】胜利大逃亡(续)
查看>>
图论-次短路求法
查看>>
What's New for Visual C# 6.0
查看>>
ExtJs学习笔记之ComboBox组件
查看>>
关于收费软件
查看>>
getopt_long
查看>>
TensorFlow MNIST CNN 代码
查看>>
javascript之Style物
查看>>
JSON跨域解决方案收集
查看>>
SSH框架整合总结
查看>>
图的深度优先遍历
查看>>
C# 之 提高WebService性能大数据量网络传输处理
查看>>
md5sum命令详解
查看>>
[bzoj1004] [HNOI2008] Cards
查看>>
应该是实例化对象的没有对属性赋值时,自动赋值为null,但不是空指针对象引用...
查看>>
原生HttpClient详细使用示例
查看>>