个渣渣C语言之数组
---恢复内容开始---
学c语言就知道数组、指针在c中有着特殊的地位。而且是必须掌握的一项知识,学会它会让你受益无穷。
一、数组
1、数组:室友一系列相同元素构成的。它连续的存储在内存中。
2、数组的声明:
格式: 类型 数组名 [元素个数];
例 : int myarray[10];
注意:在c99之前不允许出现元素个数为变量的情况。
例:
int n = 10;
int myarray[n]; // C99之前不允许(这种声明方式不允许被初始化)
3、数组的初始化:
- int myarray[] = {1,2,3,4,5}; // 正确,这种情况下元素个数可以省略。
- int myarray [10] = {1,2,3,4,5,6,7,8,9,0}; // 一般情况,元素和元素中间用 “,”分割
- int myarray [10] = {1,2,3}; // 只初始化前三个元素。
- int myarray [10] = {[4] = 4,[6] = 6}; //第5个元素个第6个员被初始化,其他元素都为0。
- int n = 10; int myarray [n] = {1,2,3,4,5,6,7,8,9,0}; //错误 。C99之后允许变量作为数组的元素个数,但是不允许初始化这种声明。
那么如果我们在数组定义后并不对其进行初始化,数组元素的值是什么?
数组定义的时候,只是划出一片区域,冠以数组名来存储数组元素。但是在定义数组的时候并不改变这片区域里数据,也就是说在这篇区域中的值是不确定的。
4、数组的赋值
- int myarray [10] = {1,2,3,4,5,6,7,8,9,0};
- int oarray [10];
- oarray = myarray; //错误,c不支持把一个数组作为一个整体来进行赋值。
- oarray [10] = {1,2,3,4,5,6,7,8,9,0}; // 错误,c不支持一个花括号括起来进行赋值。
5、数组的边界
在使用数组的时候,需要注意数组索引不能超过数组边界。也就是说数组索引对于数组来说应该是有效的。
---恢复内容结束---
个渣渣C语言之数组的更多相关文章
- 【算法】C语言实现数组的动态分配
C语言实现数组的动态分配 作者:白宁超 2016年10月27日20:13:13 摘要:数据结构和算法对于编程的意义不言而喻,具有指导意义的.无论从事算法优化方向研究,还是大数据处理,亦或者网站开发AP ...
- C语言一维数组、二维数组、结构体的初始化
C语言数组的初始化表示方法 一.C语言一维数组初始化: (1)在定义数组时对数组元素赋以初值.如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 经过上面的定义和初始 ...
- go语言的 数组、slice、map使用(转)
golang群 点击加入 go语言的 数组.slice.map使用, 由于网上有很好的说明, 不需要再写了,请看这几篇: Go语言中的 Array, Slice和 Map 深入学习golang五篇,以 ...
- go语言 类型:数组
在go语言中数组array是一组特定长度的有序的元素集合. go的数组类型由两部分组成——类型和长度,二者缺一不可.数组本来就是一块存储相同类型元素的连续内存空间,因此决定一个数组的类型,必然需要决定 ...
- C语言基础--数组及相关
概念: 一堆相同类型的数据的有序集合 格式: 元素类型 数组名称[ 元素个数 ] 定义数组: // 定义了一个名称叫做scores的数组, 数组中可以存放3个int类型的数据 ]; // 只要定义一 ...
- 学习C语言的数组
C语言的数组 数组声明的实例:int num[3];只要记下这个模板就好. 不建议使用变量定义数组,如果使用了变量定义数组,作为数组的元素的个数,不初始化的情况下是随机值,如果初始化会直接报错 注意: ...
- 对于C语言中数组名是指针的理解
我们都知道,c语言中数组名是一个指针,比如下面这段代码 #include<iostream>using namespace std;int main(){ int a[4]={1,2,3, ...
- c语言中数组相关问题
c语言中数组相关问题: 1.数组基本定义: 相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组 ...
- 线性表之顺序存储结构(C语言动态数组实现)
线性表的定义:N个数据元素的有限序列 线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表) 顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an) 链 ...
随机推荐
- flask-文件上传
flask文件上传 流程 1. 上传的文件request.files拿取 2. 可以通过WTForms表单验证 3. 通过secure_filename (from werkzeug.utils im ...
- Docker构建JDK环境
创建目录mkdir oracle-jdk 构建文件touch Dockerfile # Docker for jdk-8u181 FROM centos:7 MAINTAINER ggza " ...
- 清除Linux日志文件命令
find /opt/tomcat/logs/catalina_* -mtime +9 -exec rm -rf {} \;
- 产生 unmerge path git
1. Pull is not possible because you have unmerged files. 症状:pull的时候 $ git pull Pull is not possible ...
- 浅析http缓存
1.什么是缓存 将服务器上的静态资源,保存在本地,当发送web请求的时候,如果本地有“已缓存”的静态资源,则从使用本地保存的静态资源,而不是从源原服务器再次请求. 2.缓存的优点 缓存减少冗余的数据传 ...
- SVN设置全局忽略提交文件或者目录
在目录中右击选择TortoiseSVN -> 设置 -> 常规设置 -> 全局忽略样式 修改全局忽略样式(可以设置忽略的文件或者目录,以空格隔开):*.o *.lo *.la *.a ...
- RichText 富文本开源项目总结
在Android开发中,我们不免会遇到富文本的编辑和展示的需求,以下是本人之前star的富文本编辑器的开源项目,供大家参考: 一.RichEditor 开源项目地址:https://github.co ...
- 折腾nock给jsonp进行单元测试
概述 前几天学习用Jest和nock.js对异步api进行单元测试.在项目中,我用到了jsonp,自然想到对jsonp进行单元测试. 过程很折腾,结果很有趣. jsonp.js 首先axios或者fe ...
- Mybatis自定义SQL拦截器
本博客介绍的是继承Mybatis提供的Interface接口,自定义拦截器,然后将项目中的sql拦截一下,打印到控制台. 先自定义一个拦截器 package com.muses.taoshop.com ...
- ueditor后台配置项返回格式出错,上传功能将不能正常使用
和https://ask.csdn.net/questions/382087问题一样. java+jsp1.config.json配置不对2.百度依赖的jar包没引入3.请求controller.js ...