百度网站标题,网站怎么做 流程图,自已建网站微信登录,赣州企业网站建设推广一.数组定义 数组由数据类型相同的一系列元素组成 如 int main(){ float candy[365]; char code[12]; int states[50]; … } cnady是包含了365个float元素的数组。code是包含了12个char类型的数组。states包含了50个int类型的数组。 二.数组初始化和取值 我们使用花括号包含值 char code[12]; int states[50]; … } cnady是包含了365个float元素的数组。code是包含了12个char类型的数组。states包含了50个int类型的数组。 二.数组初始化和取值 我们使用花括号包含值值之间用逗号分隔。而这些值会一次存储到数组当中如果没有初始化值为垃圾值。如果未初始化全部值剩下的值为0。 而取值使用数组名加方括号方括号里面的数字叫数组下标0代表数组第一个元素。n-1代表数组第n个元素 在这个例子中我们并没有给num[2]复制但因为我们初始化了数组的其他值所以num[2]会自动被赋值0 在这个例子中因为没有给数组初始化的原因所以内部存储的都是垃圾值。 三.用const声明数组 有时候需要把数组设置为只读。这样程序只能从数组中检索值不能把新值写入数组。要创建只读数组应该用const声明和初始化数组不初始化后面是无法赋值的 const int num[2] (1,2}; 这样修改后变量就变为了不可修改的左值程序在运行过程中就不能修改该数组中的内容。 四.指定初始化器c99 这是c99增加了一个新特征指定初始化器利用该特性可以初始化指定的数组元素。这个初始器除了拥有和普通数组只要初始化一个元素其他元素的值都为零以外。还有另外两个特性 1.最后面的初始化的值会代替原先元素的值 2.在初始化指定后面的数会赋值到指定赋值后面的位置。 1.[1] 291下标的值在前面被赋值了28。但以最后的初始化为主所以就算29.如果后面还有指定1的小标的赋值也会替换当前赋值。 2.[4] 313031这里下标4被赋值了31后面的3031就会从指定赋值后面的位置开始继续赋值。所以3031分别被赋值到了下标5和6 有时候还会遇到特殊的情况比如未指定元素大小的情况下使用指定初始化器。 从最后的运算结果我们可以得到days一共有7个元素它是如何计算的让我们来看下 从这张运算图当中我们可以看到除了3和4元素为零外有数值的元素一直到7。7以后后面都是垃圾值了这部分就不算在数组里面了。 从这部分我们也看出来你的数组要了多少空间那么你就用多少空间不要越界使用。 五.二维数组 其实在讲二维数组之前我们在来说下一维数组。我们从一维二维来理解它们的不同。一维就是单纯 一条线。而二维就是平面。那么如果我们把一维理解成在一条线上面存储多条类型相同的数据。那么一个平面也可以由无数条线组合起来。 所以 float rain[5][12] 可以理解为rain是一个内含5个数组元素的数组一个平面上有5条线每个数组元素内涵12个float类型的元素每个线上有12个元素 而三维就可以想象成多张表单里面有多条表。而更高的维度也可以这样理解下去。 按照数据存储的思维也可以把一维数组想象成一行数据把二维数据想象成数据表把三维数组现象成一叠数据表 六.初始化二维数组和打印二维数组 我们在打印一维数组的时候用了一个for循环而如果我们想打印完二维数组元素则要用两个for循环一个for循环嵌套另外一个for循环 初始化 首先我们先来看第一个红色下划线 int num[2][3] { {1,2,3} , {4,5,6} }; num[2]:num是一个内含两个元素的数组 int [3]一个内含3个int元素的数组。 合并在一起就是一个内涵两个元素的数组每个数组当中内含3个int元素 初始化的值。外围用一个花括号内部两个花括号代表num[2]有两个数组分别对两个数组的三个元素初始化。 这里我使用了两层for循环进行打印 num[i][j]:的意思是打印num第i个数组当中第j个元素 这里在讲一个小知识点。如果花括号的值没有全部初始完后面的值就会全部设为0 我们来反别看下两个相同赋值但内部不加花括号的情况 num[2][3] {{12}{45}} 这个很好理解和我们上面一维数组道理是一样的 num[2][3] {1245} 这里要明白这些包含三个元素的数组在内存当中是连续存储的。如果我们不加花括号系统就会自动按顺序赋值。而后面没有赋值的就自动给0。而带花括号其实就是对这个赋值范围进行的限制。 好了朋友们我们今天的内容到这就结束了今天的内容到这里就结束了如果有啥不会的朋友记得论坛里面提问哈~ 如果朋友你感觉文章的内容对你有帮助可以点赞关注文章和专栏以及关注我哈嘿嘿嘿我会定期更新文章的谢谢朋友你的支持哈