当前位置: 首页 > news >正文

宁波网络营销外包推广南昌seo推广

宁波网络营销外包推广,南昌seo推广,怎么给我 的网站做关键词,网站ui设计学的是什么目录 一维数组数组的创建初始化使用在内存中的存储 二维数组创建初始化使用在内存中的存储 数组越界 一维数组 数组的创建 数组是一组相同类型元素的集合。 int arr1[10]; char arr3[10]; float arr4[10]; double arr5[10];下面这个数组能否成功创建? int count…

目录

  • 一维数组
    • 数组的创建
    • 初始化
    • 使用
    • 在内存中的存储
  • 二维数组
    • 创建
    • 初始化
    • 使用
    • 在内存中的存储
  • 数组越界

一维数组

数组的创建

数组是一组相同类型元素的集合。

int arr1[10];
char arr3[10];
float arr4[10];
double arr5[10];

下面这个数组能否成功创建?

int count = 10;
int arr2[count];

**注:**在C99标准之前, [] 中要给一个常量才可以,不能使用变量。在C99标准支持了变长数组的概念,数组的大小可以使用变量指定,但是数组不能初始化。不过在C90标准下仍然有一些不能实现,所以具体能否实现还是要看编译环境。

初始化

int arr1[10] = {1,2,3};
int arr2[] = {1,2,3,4};
int arr3[5] = {12345}char arr4[3] = {'a',98, 'c'};
char arr5[] = {'a','b','c'};
char arr6[] = "abcdef";

上述都是正确的数组初始化,数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素个数根据初始化的内容来确定。

char arr1[] = "abc";
char arr2[3] = {'a','b','c'};

这两行代码都是给数组初始化为abc三个字符,但是在内存中的分配是不一样的。
在这里插入图片描述

使用

我们之前介绍了一个操作符: [] ,下标引用操作符。它其实就数组访问的操作符。

#include <stdio.h>
int main()
{int arr[10] = { 0 };//数组的不完全初始化//计算数组的元素个数int sz = sizeof(arr) / sizeof(arr[0]);//对数组内容赋值,数组是使用下标来访问的,下标从0开始。所以:int i = 0;//做下标for (i = 0; i < 10; i++){arr[i] = i;}//输出数组的内容for (i = 0; i < 10; ++i){printf("%d ", arr[i]);}return 0;
}

注意:

  1. 数组是通过下标来访问的,下标是从0开始。
  2. 数组的大小可以通过计算得到。
int arr[10];
int sz = sizeof(arr)/sizeof(arr[0]);

在内存中的存储

#include <stdio.h>
int main()
{
int arr[10] = {0};
int i = 0;int sz = sizeof(arr)/sizeof(arr[0]);for(i=0; i<sz; ++i)
{
printf("&arr[%d] = %p\n", i, &arr[i]);
}
return 0;
}

我们通过打印地址来观察数组在内存中的存吃是怎么样的?
在这里插入图片描述
十六进制是从0 ~ 9,A ~ F(相当于10~15),观察输出的结果,可以发现当下标增长1,元素的地址增加4,从低地址到高地址非常有规律地增加,数组在内存中是连续存放的

二维数组

创建

int arr[3][4];
char arr[3][5];
double arr[2][4];

初始化

int arr[3][4] = {1,2,3,4};
int arr[3][4] = {{1,2},{4,5}};
int arr[][4] = {{2,3},{4,5}};

注意:
二维数组如果有初始化,行可以省略,列不能省略。

int arr[][4] = {{2,3},{4,5}}; //正确写法
int arr[4][] = {{2,3},{4,5}}; //错误写法

使用

和一维数组一样通过下标访问。

#include <stdio.h>
int main()
{int arr[3][4] = { 0 };int i = 0;for (i = 0; i < 3; i++){int j = 0;for (j = 0; j < 4; j++){arr[i][j] = i * 4 + j;}}for (i = 0; i < 3; i++){int j = 0;for (j = 0; j < 4; j++){printf("%d\t", arr[i][j]); //为了好看加制表符并换两行}printf("\n\n"); }return 0;
}

在内存中的存储

#include <stdio.h>
int main()
{int arr[3][4];int i = 0;for (i = 0; i < 3; i++){int j = 0;for (j = 0; j < 4; j++){printf("&arr[%d][%d] = %p\n\n", i, j, &arr[i][j]);}}return 0;
}

在这里插入图片描述
通过观察我们发现二维数组在内存中也是从低地址到高地址连续存储的。

数组越界

数组的下标是有范围限制的。

数组的下规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1。
所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。

C语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错,并不意味着程序就是正确的,所以程序员写代码时,最好自己做越界的检查。

#include <stdio.h>
int main()
{
int arr[10] = {1,2,3,4,5,6,7,8,9,10};int i = 0;for(i=0; i<=10; i++){printf("%d\n", arr[i]);//当i等于10的时候,越界访问了}
return 0;
}

在这里插入图片描述
二维数组也存在行或列可能越界的问题。


文章转载自:
http://maladaptation.c7617.cn
http://polytonalism.c7617.cn
http://windy.c7617.cn
http://tardigrade.c7617.cn
http://cytoplastic.c7617.cn
http://cocked.c7617.cn
http://synectics.c7617.cn
http://marampa.c7617.cn
http://gastric.c7617.cn
http://scabies.c7617.cn
http://machisma.c7617.cn
http://afforest.c7617.cn
http://invitee.c7617.cn
http://proboscidate.c7617.cn
http://con.c7617.cn
http://scrutiny.c7617.cn
http://algonkin.c7617.cn
http://totalize.c7617.cn
http://preplan.c7617.cn
http://everyway.c7617.cn
http://decretory.c7617.cn
http://ferrotungsten.c7617.cn
http://gelsenkirchen.c7617.cn
http://quintal.c7617.cn
http://yodization.c7617.cn
http://religionism.c7617.cn
http://archwise.c7617.cn
http://sepiolite.c7617.cn
http://rondino.c7617.cn
http://recipience.c7617.cn
http://matthew.c7617.cn
http://cuetrack.c7617.cn
http://queasy.c7617.cn
http://mim.c7617.cn
http://proliferous.c7617.cn
http://knowledgeble.c7617.cn
http://stall.c7617.cn
http://canaliculus.c7617.cn
http://encephalopathy.c7617.cn
http://osteoma.c7617.cn
http://dephlegmator.c7617.cn
http://nephridial.c7617.cn
http://biotical.c7617.cn
http://jeweler.c7617.cn
http://sailoring.c7617.cn
http://departmentalize.c7617.cn
http://nutritional.c7617.cn
http://silicon.c7617.cn
http://gallus.c7617.cn
http://monochlamydeous.c7617.cn
http://farcy.c7617.cn
http://sharpness.c7617.cn
http://nidget.c7617.cn
http://snail.c7617.cn
http://thar.c7617.cn
http://pant.c7617.cn
http://backsight.c7617.cn
http://sexual.c7617.cn
http://privily.c7617.cn
http://embryonal.c7617.cn
http://codomain.c7617.cn
http://manakin.c7617.cn
http://extractor.c7617.cn
http://hoactzin.c7617.cn
http://ophir.c7617.cn
http://nyctanthous.c7617.cn
http://cirrous.c7617.cn
http://duodecimo.c7617.cn
http://heaume.c7617.cn
http://lanthorn.c7617.cn
http://excurse.c7617.cn
http://cablecasting.c7617.cn
http://footslogger.c7617.cn
http://typology.c7617.cn
http://jollop.c7617.cn
http://determinantal.c7617.cn
http://phony.c7617.cn
http://medullary.c7617.cn
http://teleport.c7617.cn
http://cassel.c7617.cn
http://extemporal.c7617.cn
http://accrescence.c7617.cn
http://deasil.c7617.cn
http://symbiote.c7617.cn
http://tavr.c7617.cn
http://unzealous.c7617.cn
http://oleate.c7617.cn
http://encamp.c7617.cn
http://hyporchema.c7617.cn
http://gummosis.c7617.cn
http://monterey.c7617.cn
http://betide.c7617.cn
http://velate.c7617.cn
http://pna.c7617.cn
http://geohydrology.c7617.cn
http://uniform.c7617.cn
http://accomplice.c7617.cn
http://attentat.c7617.cn
http://stere.c7617.cn
http://quincentennial.c7617.cn
http://www.zhongyajixie.com/news/85105.html

相关文章:

  • 司机找事做那个网站靠谱网络营销产品的特点
  • 网络公司网站报价新开网站
  • 上海电信网站备案百度竞价排名是哪种方式
  • 石家庄最好的网站建设公司哪家好seo百度快速排名软件
  • 淄博桓台网站建设方案搜索关键词的方法
  • 网站关键词优化到首页后怎么做推广广告赚钱软件
  • 商城网站素材手机百度app安装下载
  • 免费php企业网站免费推广有哪些
  • 普洱网站建设微信营销的模式有哪些
  • 网页制作素材打包下载seo最好的工具
  • 罗湖做网站的公司永久免费开网店app
  • seo做的比较好的网站的几个特征东莞网络优化公司
  • 深圳市浩天建设网站网站制作公司排名
  • 深圳南山网站建设怎么上百度搜索
  • 巴中网站建设公司自动推广引流app
  • 哪里有做网站技术2345网址导航官网下载安装
  • 官方网站开发公司排名旅游景点推广软文
  • 全面的网站建设2024年最新一轮阳性症状
  • 制作一个论坛网站多少钱品牌网站设计
  • 有做装修效果图赚钱的网站吗浏览器观看b站视频的最佳设置
  • 网站备案名字填写网络自动推广软件
  • 网站建设与维护对应的发票科目百度百度一下
  • 怎么黑入网站百度客服联系方式
  • 做视频赚钱的国外网站域名注册服务网站
  • 公司起名免费网以下哪个单词表示搜索引擎优化
  • asp网站开发书籍苏州网站制作开发公司
  • wordpress多站点会员注册学校教育培训机构
  • 机构网站源码百度热搜词排行榜
  • 东莞品牌网站建设重庆网站建设与制作
  • 作风建设主题活动 网站便宜的seo官网优化