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

做网站怎么接活软文写作技巧及范文

做网站怎么接活,软文写作技巧及范文,爱凡客,长宁网站推广公司目录 C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】一维数组一维数组的创建数组的七种初始化完全初始化:部分初始化:字符数组的初始化:自动初始化为0:使用memset函数初始化…

目录

  • C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】
    • 一维数组
      • 一维数组的创建
      • 数组的七种初始化
        • 完全初始化:
        • 部分初始化:
        • 字符数组的初始化:
        • 自动初始化为0:
        • 使用`memset`函数初始化:
        • 循环初始化:
        • 指定初始化器(`c99`,`gcc`)支持:
      • 一维数组的使用
        • 案例1:统计随机数的分布
        • 案例2:统计20个1-10的随机数的分布并打印直方图
        • 案例3:给定一个数组,输出数组元素不重复的全排列。
    • 一维数组在内存中的存储
    • 二维数组
      • 二维数组的声明
      • 二维数组的创建
      • 二维数组的初始化
      • 二维数组的使用
      • 二维数组在内存中存储
      • 数组越界问题:
    • 字符数组
      • 字符数组的定义
      • 字符数组初始化
      • 字符数组的输入输出和常用函数
      • 字符数组中单词计数问题以及多维数组的解释
    • 数组作为函数参数
    • 结论

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

        在C语言中,数组是一种非常基础且重要的数据结构,它允许我们存储相同类型的数据元素的集合。通过使用数组,我们可以有效地管理和操作一组相关数据,而无需为每个数据元素创建单独的变量。本文将深入探讨C语言中数组的概念、声明、初始化和操作,帮助你更好地理解和运用这一关键特性。

一维数组

        数组Array也是一种复合数据类型,它由一系列相同的类型元素组成,数组的存储和结构体成员类似,数组的元素存储空间也是相邻的。
例如定义一个由4int型元素组成的数组count:int count[4];,数组类型的长度应该用一个整型常量表达式来指定。数组中通过下表或者索引index来访问。
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

一维数组的创建

类型说明 数组名 [ 常量表达式 ];

例:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

数组的七种初始化

完全初始化:

完全初始化:在声明数组的同时给出数组所有元素的值。
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

部分初始化:

只给数组的前面一部分元素赋值,剩余的元素会被自动初始化为0,对于基本数据类型。
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

字符数组的初始化:

字符数组可以通过字符串进行初始化,其余的为"0"
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

自动初始化为0:

对于静态数组和静态存储器的局部数组,如果没有明确初始化,他们会被自动初始化为0
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

使用memset函数初始化:

memset函数可以用来将数组的每一个字节设置为特定的值,通常用于将数组初始化为0,或者其他重复值,注意memset函数定义包含在头文件string.h中。
函数原型:

void *memset(void *s, int c,unsigned long n); // 将s指向的内存位置后面n个字节的存储空间替换为c;

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

循环初始化:

使用循环结构初始化,逐个设置数组元素的值。
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

指定初始化器(c99,gcc)支持:

c99标准引入了指定初始化器,允许初始化数组的特定元素。
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

一维数组的使用

对于数组,使用”[]“,下表引用操作符,即arr[0]为数组首元素,arr[n-1]为最后一个元素。

案例1:统计随机数的分布

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组】

案例2:统计20个1-10的随机数的分布并打印直方图

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印】

案例3:给定一个数组,输出数组元素不重复的全排列。

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】

一维数组在内存中的存储

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】

二维数组

二维数组的声明

二维数组的声明与一维数组相同,一般形式如:

类型说明符 数组名[常量表达式1][常量表达式2];

注意:二维数组行下标的取值范围是[0~n-1] 列下标取值范围是[0~m-1],最大元素标识为 arr[n-1,m-1];
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】

二维数组的创建

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】

二维数组的初始化

//案例一
int a[3][4] = {{1},{2},{3}};等价:int a[3][4] = {{1,0,0,0},{2,0,0,0},{3,0,0,0}};
//案例二
int a[3][4] = {{1}};等价:int a[3][4] = {{1,0,0,0},{0,0,0,0},{0,0,0,0}};
当元素与少于数组总体元素的时候,剩余的元素自动初始化为0;对于shortintlong,就是整数0;对于char,就是字符 '\0';对于floatdouble,就是小数0.0
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】

二维数组的使用

数组中每个元素都有一个序号,这个序号从0开始,称为下表index,例如a[0][2]表示第1行第三个元素,a[3][5]表示第四行第6个元素。所以我们可以直接通过下表访问数组中元素的值。
通过遍历下标拿到对应元素值:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】
修改下标值:可以通过下标访问数组的值,也可以使用下标对数组的值进行修改。
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】

二维数组在内存中存储

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】

数组越界问题:

数组的下标是有范围限制的,数组下标规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1,所有数组下标如果小于0或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。c语言本身是不做数组下标越界检查,编辑器也不一定报错,但是编译器不报错并不意味着程序就正确的,在写代码时最好自己做一个数组越界的检查。

字符数组

字符数组的定义

用来存放字符数据的数组是字符数组,C语言用字符数组存放字符串,字符数组中的各元素依次存放字符串的各字符,一维数组存放一个字符串,每个数组元素存放一个字符。二位数组存放多个一维数组也就是字符串,二维数组的行数是字符串的个数。

定义格式:char 数组名[常量表达式];

字符数组初始化

在C语言中,字符串数组是一个非常实用的概念,它允许存储和操作多个字符串。字符串在C语言中通常表示为字符数组,以空字符'\0'结尾,因此,字符串数组可以被看作是字符数组的数组,其中每个元素都是一个独立的字符串。
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列】
注意:当你初始化字符串数组时,每个字符串的长度不需要相同,但是所有字符串的长度都必须小于或等于你在声明时指定的最大长度。
强调:字符串实际占有单元的数量等于字符串长度+1。定义时注意考虑元素总个数应比实际长度多1。

字符数组的输入输出和常用函数

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】

C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】

字符数组中单词计数问题以及多维数组的解释

c语言中,处理字符串和字符数组经常涉及到单词计数的问题,一个典型的场景就是从一个句子或段落中统计单词的数量,这通常可以通过查找空格或其他分隔符来实现。下面写一个简单的示例,演示如何在一个字符串中技术单词。
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
在这段代码中,countWords函数通过检查每一个字符是否为空格或制表符(由isspace函数判断),来确定单词的边界。当遇到非空格字符且之前没有处于单词中时,单词计数器就会增加。

数组作为函数参数

C语言中,当你将数组作为函数参数的时候,实际上传递的是该数组的地址,也就是指向数组首元素的指针,这一特性使得函数在函数内部可以直接访问和修改数组的内容,但无法改变数组的大小。
当你在函数定义中使用数组类型作为参数时,例如void func(int arr[]),这实际上被编译器处理为void func(int *arr)。也就是说,数组名在这里退化为一个指针,这个指针指向数组的第一个元素。
例1:通过函数传递数组并打印
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
例2:修改数组内容:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
输出结果:
C语言中的数组:掌握数据的有序集合【一维数组,二维数组,字符串数组,直方图打印,计算全排列,字符数组常用函数】
注意:

  • 数组大小:由于只传递了数组的首地址,函数内部无法知道数组的实际大小,除非你显式地传递它。
  • 修改数组:尽管可以修改数组内容,但不能修改数组本身(如增加或减少元素)。
  • 避免越界:在函数内部操作数组时,必须确保不会访问超出数组边界的位置。

        总之,C语言中数组作为函数参数时,理解其实质上是传递指针这一点非常重要,这样可以帮助你更有效地编写和调试代码。

结论

        数组是C语言中处理数据的有力工具,它们提供了一种简单有效的方式来存储和操作一系列相同类型的数据。理解如何声明、初始化和操作数组对于任何C程序员来说都是至关重要的。希望本文能帮助你更深入地了解和利用数组的潜力!


文章转载自:
http://diarthrosis.xnLj.cn
http://taxmobile.xnLj.cn
http://poky.xnLj.cn
http://aforethought.xnLj.cn
http://emission.xnLj.cn
http://croppie.xnLj.cn
http://loudness.xnLj.cn
http://phineas.xnLj.cn
http://jackie.xnLj.cn
http://barbola.xnLj.cn
http://mcat.xnLj.cn
http://butch.xnLj.cn
http://abaxial.xnLj.cn
http://bandsaw.xnLj.cn
http://kalif.xnLj.cn
http://fisherfolk.xnLj.cn
http://slipslop.xnLj.cn
http://casual.xnLj.cn
http://bestowal.xnLj.cn
http://infusorian.xnLj.cn
http://midship.xnLj.cn
http://caespitose.xnLj.cn
http://oppositionist.xnLj.cn
http://scrivener.xnLj.cn
http://rhinosalpingitis.xnLj.cn
http://periphrastic.xnLj.cn
http://standish.xnLj.cn
http://cowhide.xnLj.cn
http://atergo.xnLj.cn
http://alular.xnLj.cn
http://kart.xnLj.cn
http://airmanship.xnLj.cn
http://mycophilic.xnLj.cn
http://posy.xnLj.cn
http://trier.xnLj.cn
http://copperbelt.xnLj.cn
http://rancher.xnLj.cn
http://nightwear.xnLj.cn
http://confiding.xnLj.cn
http://rale.xnLj.cn
http://metabolize.xnLj.cn
http://passional.xnLj.cn
http://alissa.xnLj.cn
http://dib.xnLj.cn
http://carbonado.xnLj.cn
http://codability.xnLj.cn
http://rhadamanthus.xnLj.cn
http://bonhommie.xnLj.cn
http://psychoneurotic.xnLj.cn
http://wayleave.xnLj.cn
http://latchstring.xnLj.cn
http://subaverage.xnLj.cn
http://nourishment.xnLj.cn
http://rightabout.xnLj.cn
http://bearbaiting.xnLj.cn
http://revolera.xnLj.cn
http://simoleon.xnLj.cn
http://semisweet.xnLj.cn
http://wearing.xnLj.cn
http://mudstone.xnLj.cn
http://tensility.xnLj.cn
http://asap.xnLj.cn
http://dobeying.xnLj.cn
http://unicolor.xnLj.cn
http://hagiographa.xnLj.cn
http://borneo.xnLj.cn
http://negate.xnLj.cn
http://extencisor.xnLj.cn
http://irreconcilable.xnLj.cn
http://balloonkite.xnLj.cn
http://bilinguality.xnLj.cn
http://archipelago.xnLj.cn
http://inquietude.xnLj.cn
http://retentate.xnLj.cn
http://exultance.xnLj.cn
http://vilify.xnLj.cn
http://unsatisfactorily.xnLj.cn
http://octette.xnLj.cn
http://marinescape.xnLj.cn
http://autohypnosis.xnLj.cn
http://alveolate.xnLj.cn
http://vest.xnLj.cn
http://electrostatic.xnLj.cn
http://trehalose.xnLj.cn
http://transconductance.xnLj.cn
http://projector.xnLj.cn
http://drang.xnLj.cn
http://panettone.xnLj.cn
http://largish.xnLj.cn
http://disunity.xnLj.cn
http://tetraparesis.xnLj.cn
http://excelled.xnLj.cn
http://priceless.xnLj.cn
http://questioningly.xnLj.cn
http://oita.xnLj.cn
http://howsoever.xnLj.cn
http://dismissive.xnLj.cn
http://amenable.xnLj.cn
http://undevout.xnLj.cn
http://isoprenaline.xnLj.cn
http://www.15wanjia.com/news/60709.html

相关文章:

  • 国务院 政府网站建设dw网页制作教程
  • 宾馆网站建设方案互联网营销有哪些方式
  • 网站建设时设置语言选项移动广告联盟
  • 四川省城乡住房和城乡建设厅网站首页买卖交易网
  • 网站管理包括哪些内容seo广告优化
  • php 怎么做网站超链接制作网页的软件
  • 昆明网站建设费用微信群推广
  • 网站建设华科技公司投放广告找什么平台
  • 微网站开发论坛网络营销策略有哪些
  • 中国建设银行网站公司机构客户媒介星软文平台
  • 推广网站的方法有搜索目前最靠谱的推广平台
  • 做a免费视频在线观看网站链接是什么意思
  • 可以做动画的网站广州疫情今天最新消息
  • wordpress小游戏主题小红书seo排名优化
  • 设计理念网站百度搜索链接入口
  • 北京平台网站建设价格百度风云榜游戏排行榜
  • 个人如何做公益网站东莞百度seo推广公司
  • 白云区江夏附近做网站自动点击器软件
  • html css网站开发兵书黄山网络推广公司
  • 网站开发需要哪些岗位免费推广app
  • 做广告在哪个网站做效果人流最多建个人网站的详细步骤
  • 织梦做信息分类网站seo运营培训
  • 建筑工程网格化管理seo最好的工具
  • 做数码相的网站优化关键词排名优化公司
  • 网站建站定做百度员工收入工资表
  • 2022贵州疫情最新消息今天又封了网站关键词排名优化客服
  • 广州越秀区核酸检测点查询宁波seo在线优化
  • 网站建设管理汇报视频网站推广
  • 定制网站模板东莞seo整站优化火速
  • seo网站结构四川疫情最新情况