c语言字符数组不写,C语言数组

数组的基本使用

数组的定义格式:

类型 数组名[元素个数];

int ages[5] = {19, 29, 28, 27, 26};

数组的注意事项

存储空间的划分(内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的)

数组名的作用,查看元素地址

数组越界的注意

使用注意

正确写法

> int ages[5] = {10 , 11, 12, 67, 56};

> int ages[5] = {10, 11};

> int ages[5] = {[3] = 10, [4] = 11};

> int ages[] = {10, 11, 14};

> int ages['A'-50] = {10, 11, 12, 14, 16};

> /*

int count = 5;

int ages[count];

ages[0] = 10;

ages[1] = 11;

ages[2] = 18;

*/

错误写法

//第一种情况~没有初始化数组个数,并不知道需要分配多少内存空间

int ages[];

//第二种情况只能在定义数组的同时进行初始化

int ages[5];

ages = {10, 11, 12, 14};

//第三种情况 如果想再定义数组的同时进行初始化,数组元素个数必须是常量,或者不写

int count = 5;

int ages[count] = {10, 11, 12};

计算数组元素的个数

int count = sizeof(ages)/sizeof(int);

数组和函数

// 数组作为函数参数,可以省略元素个数

// 数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组

void change(int array[])

{

array[0] = 100;

}

//基本数据作为函数参数是值传递

void change2(int n)

{

n = 100;

}

int main()

{

int ages[6] = {10, 11, 10, 11, 10, 11};

change(ages);

change2(ages[0]);

return 0;

}

获取数组中的最大值

int maxOfArray(int array[], int length)

{

// 数组当做函数参数传递时,会当做指针变量来使用,指针变量在64bit编译器环境下,占据8个字节

//int size = sizeof(array);

//printf("array=%d\n", size); 得到的是8

// 1.定义一个变量存储最大值(默认就是首元素)

int max = array[0];

// 2.遍历所有元素,找出最大值

for (int i = 1; i

{

// 如果当前元素大于max,就用当前元素覆盖max

if (array[i] > max)

{

max = array[i];

}

}

return max;

}

二维数组

什么是二维数组?

一个数组能表示一个班人的年龄,如果想表示很多班呢?

int ages[3][10]; 三个班,每个班10个人

相当于3行10列

相当于装着3个一维数组

二维数组是一个特殊的一维数组:它的元素是一维数组。例如int a[2][3]可以看作由一维数组a[0]和一维数组a[1]组成,这两个一维数组都包含了3个int类型的元素

int main()

{

/*

1 浅蓝色

2 深蓝色

3 黄色

4 红色

-1 没有

*/

int cubes[5][5] = {

{1, -1, -1, -1, -1},

{1, 1, -1, 2, -1},

{4, 1, 2, 2, 2},

{4, 3, 3, 3, 3},

{4, 3, 3, 3, 3}

};

return 0;

}

字符串

char name[] = "jackChan";

char name2[8] = {'i', 't', '\0'};

字符串是以 \0为标志的

/*

\0的作用

1.字符串结束的标记

2.printf("%s", name2);

会从name2这个地址开始输出字符,直到遇到\0为止

因为name2只是普通的字符数组,(没有指定分配多少内存空间,就会以字符的个数进行分配存储空间,由于不包含\0,所以是一个普通的字符数组,而printf中%s是字符串,所以会先找到name2的内存地址,"注意:分配内存的时候寻址是先大后小,所以name[]的内存地址比name2的内存地址大",没有\0,会继续向下找到name[]中,直到遇到\0才结束)

*/

int main()

{

char name[] = "itc\0ast";

char name2[] = {'o', 'k'};

printf("%s\n", name2); //输出的结果是okitc

// printf("%s\n", &name2[1]);

return 0;

}

strlen函数

/*

strlen 函数:计算字符串的长度

1 计算的是字符数,并不是字数,一个汉字算作3个字符

2 计算的字符不包含\0

3 从某个地址开始数 字符的个数,直到遇到\0为止

4 strlen 函数声明在string.h中

*/

#include

#include

int main()

{

int size = strlen("哈haha");

printf("%d\n", size);

char name[] = "jack";

printf("%s\n", name); // jack

printf("%c\n", name[3]); // k

return 0;

}

字符串数组

#include

int main()

{

char name[] = "jack";

char name1[] = "rose";

char name2[] = "jim";

char name3[] = "jake";

char names[2][10]= {"jack", "rose"};

//printf("%s\n", names[0]);

//printf("%c\n", names[0][3]);

char names2[2][10] =

{

{'j', 'a', 'c', 'k', '\0'},

{'r', 'o', 's', 't', '\0'}

};

return 0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ARM-Linux开发】U-Boot启动过程--详细版的完全分析

------------------------------------------------------------------------------------------------------------------------------------------- 我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。 在…

一文看懂RISC-V:异构IoT时代全新架构

来源: 芯潮近两年来,在ARM和Intel主导的竞争格局中,新的开源指令集架构RISC-V在芯片江湖声名鹊起。我们将指令集分为三种:1、复杂指令集(CISC):x86;2、精简指令集(RISC&a…

谷粒商城三阶段课件_苏科版初中物理九年级上册二、变阻器公开课优质课课件教案视频...

课题: 14.2变阻器教学目标:1.知道滑动变阻器的构造及工作原理。2.能画出滑动变阻器的结构示意图和符号。3.会正确连接和使用滑动变阻器。4.了解生活中变阻器的一些应用。教学重点、难点:重点&a…

c语言改变doss窗口的颜色,C语言第三次模拟练习题部分解答

《C语言第三次模拟练习题部分解答》由会员分享,可在线阅读,更多相关《C语言第三次模拟练习题部分解答(20页珍藏版)》请在装配图网上搜索。1、单项选择1. 题号:13334若有如下语句int x3;doprintf(%dn,x-2);while(!(-x);则上面程序段________。…

小牛地图矢量抓取工具_SEO优化网站sitemap需要注意哪些要点才能很好的被百度蜘蛛抓取...

SEO优化网站sitemap需要注意哪些要点才能很好的被百度蜘蛛抓取一、全部链接真实有效。地图的主要目的是方便搜索引擎蜘蛛抓取的,如果地图存在死链,会影响网站在搜索引擎中网站权重的,要仔细检查有无错误的链接地址,提交前通过站长…

【加州理工】什么是模仿学习(Imitation Learning(模仿学习), 这62页ppt带你了解进展...

来源:专知【导读】Imitation Learning(模仿学习)机器学习新的研究热点之一,因其能很好的解决强化学习中的多步决策(sequential decision)问题,近段时间得到了广泛关注。那么模仿学习近期的前沿进…

python微信自动打卡_「微信辅助」吃鸡再也不怕了,Python用wxpy实现微信自动回复...

我是程序员小小叶,为大家带来原创精彩技术内容。首先安装wxpy。pip install wxpy优点:相比itchat封装了接口,使用较为方便。注意事项:wxpy 支持 Python 3.4-3.6,以及 2.7 版本。实现三个场景:场景1&#xf…

《信息安全系统设计基础》 实验五

实验五 我与20145236冯佳一组博客链接 转载于:https://www.cnblogs.com/ZouJR/p/6107862.html

c语言中的标准数据类型,C语言中的基本数据类型

编写程序:# include # include int main(void){printf("char的长度为%d\n",sizeof(char)); //结果: 1printf("int的长度为%d\n",sizeof(int)); //结果: 4printf("float的长度为%d\n",sizeof(float)); //结果: 4printf("double的长度为%d\n&…

ios12完美深色模式插件_分屏插件更新支持 A12,一心二用真滴爽

在众多iOS越狱插件中,总有几款亘古不变的插件一直深受大家的喜爱,分屏类插件就是其中之一。之前少年也介绍过几款好用的分屏 App,但是因为自己手持“真香” XR 机,而之前介绍的插件也一直没有适配 A12 设备,所以一直没…

人工智能三大驱动力背后的CMOS传感器

来源:智东西随着人工智能概念逐渐成为科技界最炙手可热的话题,这一依托芯片产业的全新概念牵动了整个科技界的心。依靠政府的大力扶持、潜在市场的巨大规模以及已经逐渐落地的海量应用场景,中国已然成为世界上潜力最大的人工智能市场之一。在…

python处理文件名_[请教]python的中文文件名处理

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼3 楼的可以用 sys.getfilesystemencoding 检测,但由於文件系统的差异,文件名 100% 无损转还是不太可,比如很多 *nix 的文件系统支持除 / 和 \0 外的所有字符,而 win 下不可能4 楼的可…

css —— 图片环绕+首行缩进

1.利用css实现图片环绕文字的效果: 只需要给img标签设置float:left/right即可; 2.实现上段文字首行缩进两个字的效果: 使用 text-indent: 2em;即可(em为相对单位,2em相当于两个汉字的距离) 转载…

西华大学c语言期末成绩占比例,期末成绩开始录入!优秀率一般不得超过20%

原标题:期末成绩开始录入!优秀率一般不得超过20%各学院(系):2020-2021学年秋季学期本科生期末成绩录入工作将在新版本科教学一体化信息平台中进行,为了更好地协助任课教师了解本次成绩录入工作,在录入通知正…

c语言商品货架管理_汽配仓库布局及管理

奥玛物流仓储平台我们平台在全球已经发展超过40,660多个联盟成员,遍布全球665个城市,提供超过6亿平方米的仓库空间,并为60,000个用家服务,如想找物流服务或加入我们,可关注公众号 或 登陆网址www.oym56LM.com&#xff…

沈浩:博弈论在人工智能中的应用

转自 ∑ 沈浩老师最近看到一篇不错的文章,让沈雨尘帮助整理一下,与同学们分享!概览什么是博弈论?它是如何应用到人工智能(AI)中的?人工智能中的博弈论是一个迷人的概念,每个人应该有一定了解。我们希望通过…

更新node_kubernetes证书更新

适用环境:kubeadm部署的k8s集群,默认证书位置为/etc/kubernetes/pki如果环境中证书目录为非pki(以ssl为例),则需创建对应软连接。本文以高可用集群为例(3 master)master节点:查看证书…

python 3 关于requests库的 text / content /json

最近在爬SDFDA的数据,刚开始用urllib.request 库,一直连不到数据 ; 后来通过CHROME浏览器的F12,发现该 网站用的是JSON格式{}Content-Type: application/json,},不同于以往的提交方式“Content-Type: text/html; chars…

Matlab论文插图绘制模板第132期—函数等高线填充图

在之前的文章中,分享了Matlab函数折线图的绘制模板: 函数三维折线图: 函数网格曲面图: 函数曲面图: 函数等高线图: 进一步,再来分享一下函数等高线填充图。 先来看一下成品效果: 特…

c语言gets与fgetc,区分C语言中getch、getche、fgetc、getc、getchar、fgets、gets 转

首先,这两个函数不是C标准库中的函数,int getch(void)    //从标准输入读入一个字符,当你用键盘输入的时候,屏幕不显示你所输入的字符。也就是,不带回显。int getche(void)    //从标准输入读入一个字符&#x…