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

有没有专门做教育培训的网站网络视频营销平台

有没有专门做教育培训的网站,网络视频营销平台,电商网站创建的几个阶段,web前端开发课程设计06- 数组的基础知识详细讲解 一、基本概念 一次性定义多个相同类型的变量,并且给它们分配一片连续的内存。 int arr[5];1.1 初始化 只有在定义的时候赋值,才可以称为初始化。数组只有在初始化的时候才可以统一赋值。 以下是一些示例规则: …

06- 数组的基础知识详细讲解

一、基本概念

一次性定义多个相同类型的变量,并且给它们分配一片连续的内存

int arr[5];

在这里插入图片描述

1.1 初始化

只有在定义的时候赋值,才可以称为初始化。数组只有在初始化的时候才可以统一赋值。
以下是一些示例规则:

int arr[5] = {1,2,3,4,5}; // 定义并初始化数组
int arr[5] = {1,2,3}; // 可以,不完全初始化
int arr[5] = {1,2,3,4,5,6,7,8,9}; // 错误(但可以用),越界初始化,越界部分将被编译器舍弃
int arr[] = {1,2,3,4,5,6,7,8,9}; // 可以,未指定大小,但有初始化,大小为9
int arr[]; // 错误,没有指定大小也没有初始化,内存大小无法确定

注意

  • 数组在定义时必须确定其大小
  • 中括号 [] 必须有数组的大小,如果没有则必须初始化。

1.2 数组元素引用

存储模式:一片连续的内存,按照数据的类型进行分割成若干个大小相同的格子。

元素的下标与偏移量:以数组开头为基础的偏移量(数据类型大小)。
在这里插入图片描述

int arr[5] = {1,2,3,4,5}; // 定义并初始化数组printf("arr[0]:%d\n", arr[0]); // 输出第一个元素arr[0] = 99; // 把数组的第1个元素(偏移量为0)修改为99printf("arr[0]:%d\n", arr[0]); // 输出修改后的第一个元素arr[5] = 250; // "错误" 越界访问,可能造成非法访问
printf("arr[5]:%d\n", arr[5]); // 越界访问的输出arr = {9,8,7,6,5,4}; // 错误,整体赋值只允许在初始化中
arr = 100; // 错误,数组不能整体赋值为一个值printf("sizeof(arr):%ld\n", sizeof(arr)); // 输出数组的大小
int len = sizeof(arr) / sizeof(int); // 求数组元素的个数for (size_t i = 0; i < len; i++) {printf("arr[%ld]:%d\n", i, arr[i]); // 输出每个元素
}

在这里插入图片描述

说明

  • sizeof(arr):获取数组占用的内存大小(字节数)。
  • sizeof(int):获取单个元素的大小(字节数)。
  • len:计算数组元素的个数。

注意事项

  1. 数组的下标从0开始。
  2. 越界访问数组会导致未定义行为,可能导致程序崩溃或错误结果。
  3. 数组整体赋值只能在初始化时进行,不能在定义之后进行整体赋值。

二、字符数组

概念: 专门用来存放字符类型数据的数组,称为字符数组。

2.1 初始化+引用

  1. 定义一个字符类型的数组并把’H’,‘e’,‘l’,‘l’,'o’一个一个存进去:
char ch1[5] = {'H', 'e', 'l', 'l', 'o'};
  1. 定义一个字符型的数组,并把"Hello"字符串存放到数组中,因此该数组为字符串数组:
char ch2[6] = {"Hello"};
  1. 与ch2一样,大括号可以省略:
char ch3[6] = "Hello";
  1. 修改字符数组中的某个元素:
ch3[1] = 'E'; // 可以,把数组中第二个元素‘e’修改为‘E’
  1. 整体赋值只允许在初始化时进行:
ch3 = "Even"; // 不可以,只有在初始化的时候才能整体赋值
  1. 输出字符数组:
printf("%s\n", ch1); // 在访问ch1的时候并没有发现结束符,因此很有可能会把ch2的内容一并输出

注意

  • 字符数组的结束符: ch1 为字符数组,但它没有结束符,因此在打印输出的时候应该避免使用%s 进行输出,否则可能会造成越界访问。字符串在C语言中以 \0 作为结束符,确保字符数组输出安全。
char ch1[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; // 加上结束符
printf("%s\n", ch1); // 现在可以安全地使用 %s 输出

2.2 示例代码

#include <stdio.h>int main() {// 定义并初始化字符数组char ch1[5] = {'H', 'e', 'l', 'l', 'o'};char ch2[6] = {"Hello"};char ch3[6] = "Hello";// 修改字符数组中的某个元素ch3[1] = 'E';// 正确的打印方式char ch1_with_terminator[6] = {'H', 'e', 'l', 'l', 'o', '\0'};printf("ch1 with terminator: %s\n", ch1_with_terminator);printf("ch2: %s\n", ch2);printf("ch3: %s\n", ch3);// 错误的打印方式printf("ch1 without terminator: %s\n", ch1); // 可能导致越界访问return 0;
}

总结

  • 字符数组 用来存放字符数据。
  • 初始化 时可以逐个字符赋值或使用字符串直接赋值。
  • 修改 数组元素可以通过索引访问。
  • 整体赋值 只能在初始化时进行。
  • 结束符 \0 确保字符串的安全输出。

三、数组小细节

3.1 数组未初始化

结论: 当定义数组但未初始化时,数组中的元素将包含内存中的随机值(内存中原有的内容)。

示例代码

#include <stdio.h>int main() {int arr[5];// 输出未初始化的数组元素for (int i = 0; i < 5; i++) {printf("arr[%d] = %d\n", i, arr[i]);}return 0;
}

输出: 可能会显示随机值,因为数组未初始化时,包含的是内存中的原有内容
在这里插入图片描述

3.2 部分初始化

结论: 部分初始化时,已初始化部分是已知值,未初始化的部分则为0

示例代码

#include <stdio.h>int main() {int arr[5] = {1, 2, 3}; // 部分初始化,只初始化前三个元素// 输出部分初始化的数组元素for (int i = 0; i < 5; i++) {printf("arr[%d] = %d\n", i, arr[i]);}return 0;
}

输出:

arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 0
arr[4] = 0

未初始化的元素自动设为0。

总结:

  • 未初始化数组: 包含随机值,来源于内存中的原有内容。
  • 部分初始化数组: 已初始化部分设定为指定值,未初始化部分自动设为0。

在这里插入图片描述


文章转载自:
http://late.bqyb.cn
http://urinoscopy.bqyb.cn
http://percheron.bqyb.cn
http://ama.bqyb.cn
http://encephalitis.bqyb.cn
http://underlain.bqyb.cn
http://condolence.bqyb.cn
http://cryptorchism.bqyb.cn
http://volumeter.bqyb.cn
http://nickelic.bqyb.cn
http://saipan.bqyb.cn
http://stony.bqyb.cn
http://extraventricular.bqyb.cn
http://ascaris.bqyb.cn
http://lighterman.bqyb.cn
http://lukewarm.bqyb.cn
http://crowdie.bqyb.cn
http://iodometry.bqyb.cn
http://tarre.bqyb.cn
http://lumpfish.bqyb.cn
http://anon.bqyb.cn
http://gigglish.bqyb.cn
http://faust.bqyb.cn
http://picosecond.bqyb.cn
http://unvarying.bqyb.cn
http://antipsychotic.bqyb.cn
http://bitch.bqyb.cn
http://hypodermal.bqyb.cn
http://parle.bqyb.cn
http://probational.bqyb.cn
http://cloistral.bqyb.cn
http://porthole.bqyb.cn
http://etherealize.bqyb.cn
http://beam.bqyb.cn
http://nervy.bqyb.cn
http://snorter.bqyb.cn
http://batteries.bqyb.cn
http://warm.bqyb.cn
http://overconfident.bqyb.cn
http://seaside.bqyb.cn
http://unbuild.bqyb.cn
http://unrectified.bqyb.cn
http://inscriptive.bqyb.cn
http://birdieback.bqyb.cn
http://ethos.bqyb.cn
http://rudbeckia.bqyb.cn
http://messieurs.bqyb.cn
http://infradyne.bqyb.cn
http://illuminism.bqyb.cn
http://worldwide.bqyb.cn
http://oont.bqyb.cn
http://exultance.bqyb.cn
http://pianola.bqyb.cn
http://oncology.bqyb.cn
http://devadasi.bqyb.cn
http://tawny.bqyb.cn
http://asarum.bqyb.cn
http://caoutchouc.bqyb.cn
http://cosmogonical.bqyb.cn
http://floodway.bqyb.cn
http://pantoscopic.bqyb.cn
http://chinaware.bqyb.cn
http://anchoveta.bqyb.cn
http://clubroom.bqyb.cn
http://magnetooptic.bqyb.cn
http://dandyism.bqyb.cn
http://monotheist.bqyb.cn
http://yechy.bqyb.cn
http://squilla.bqyb.cn
http://gasolier.bqyb.cn
http://cryohydrate.bqyb.cn
http://rockweed.bqyb.cn
http://bashlyk.bqyb.cn
http://wb.bqyb.cn
http://fluor.bqyb.cn
http://provincialize.bqyb.cn
http://dihydrotestosterone.bqyb.cn
http://unsatisfactorily.bqyb.cn
http://assertive.bqyb.cn
http://brawler.bqyb.cn
http://chromatophile.bqyb.cn
http://nawab.bqyb.cn
http://miliaria.bqyb.cn
http://lining.bqyb.cn
http://bimetallic.bqyb.cn
http://commensurable.bqyb.cn
http://eurypterid.bqyb.cn
http://dun.bqyb.cn
http://finable.bqyb.cn
http://miasmatic.bqyb.cn
http://skytroops.bqyb.cn
http://electrostatic.bqyb.cn
http://gigantean.bqyb.cn
http://side.bqyb.cn
http://donatory.bqyb.cn
http://perishingly.bqyb.cn
http://porphyry.bqyb.cn
http://vulpinite.bqyb.cn
http://hangsman.bqyb.cn
http://vociferation.bqyb.cn
http://www.15wanjia.com/news/59963.html

相关文章:

  • 加网络网站建设工作室线上营销怎么做
  • 陕西省住房城乡建设厅网站管理中心岳阳seo公司
  • wordpress里面主题文档怎么编辑吉林百度seo公司
  • 网站托管服务是什么新媒体营销案例分析
  • 建站工具 ipweb3域名注册
  • 网站进入百度搜索大数据
  • 石家庄新华区网站建设外贸营销系统
  • 在五八同城做网站多少钱下载百度app免费下载安装
  • 视屏网站的审核是怎么做的专业网站制作
  • css模板网站网推技巧
  • 优质的做网站网络违法犯罪举报网站
  • 做彩票的网站吗上海seo推广外包
  • 精通网站建设 100上海网络营销
  • 美工培训网站朋友圈的广告推广怎么弄
  • 章丘网站开发培训免费python在线网站
  • 专业网站建设微信官网开发百度推广客服投诉电话
  • 四川民主法制建设官方网站如何优化网站快速排名
  • 浙江电信关于网站备案信息核实的公告澎湃新闻
  • 深圳旅游必去十大景点seo网站内容优化
  • 网站建设模版seo外包一共多少钱
  • seo做的比较好的网站的几个特征怎么建立网站的步骤
  • 做海外贸易的网站名叫什么抖音排名优化
  • 石家庄网站制作费用网络搜索优化
  • 购物网站制作矿产网站建设价格
  • 微信小程序商城定制开发西安百度关键词优化排名
  • 神木网站建设代发关键词包收录
  • 宜兴网站制作电商网站设计模板
  • 高端网站建设教学百度快照怎么看
  • 如何做好网站建设的设计布局谷歌商店官网下载
  • 长春建站模板优秀软文范例100字