数组:具有相同数据类型数据的有序集合
1、具有相同数据类型
2、数据的集合
3、有序的
数组的分类:
1、一维数组
2、多维数组(二维数组)
一维数组的声明:
数据类型 数组名[常量];
数组元素:数组名[下标]
下标取值:0 ~ 常量 - 1
一维数组的常用操作:
1、查找数据
2、插入
1、从倒数第二个数据开始往后移
2、通过修改下标,使得待插入位置之后的所有数据都往后移
3、使用待插入的数据替换指定位置的数据
3、删除
1、位置
2、数据
排序:
1、冒泡排序
2、快速排序
时间复杂度:程序都是由算法组成,而算法有效率的区别,算法在对数据处理过程中,随着数据的增加,
与所需时间的比例关系;时间复杂度越低,程序执行效率越高
二维数组声明:
数据类型 数组名[行][列];
例如:
int numbs[2][3];
double numbs[5][2];
数据存储量为:行 X 列
二维数组的初始化:
int numbs[2][3] = {1,2,3,4,5,6};
int numbs[2][3] = {
{1,2,3},
{4,5,6}
};
int numbs[][3] = {
{1,2,3},
{4,5,6}
};
int numbs[5][2] = {
{1},
{2,3},
{4}
};
二维数组元素:
数组名[行下标][列下标];
行下标:0 ~ 行 - 1
列下标:0 ~ 列 - 1
一维数组在内存中存储方式:
从第一个数组元素开始,所有的数组元素是,依次连续存储的
二维数组在内存中存储方式:
C 语言中,所有数据的存储采用行存储模式,下一行第一个数组元素的地址,在上一行最后一个数组元素
之后,而且是连续的
字符数组
一维字符数组声明:
char 数组名[常量];
一维字符数组初始化:
char 数组名[常量] = {字符1,字符2,...,字符n};
char 数组名[] = {字符1,字符2,...,字符n};
char 数组名[常量] = "字符串";
char 数组名[] = "字符串";
%s :只对字符数组有用
注意:scanf 函数不会接收空格和 '\n'
字符二维数组初始化:
char arr[2][10] = {
{'a','b','c'},
{'d','e'}
};
char arr[][10] = {
{'a','b'},
{'c'},
{'d','e','f'}
};
char arr[2][10] = {
"haha",
"hehe"
};
注意:二维数组的数组名[行下标]就等于一维数组
函数:具有完成单个独立功能的,代码的集合
注意:函数应该功能单一
函数的分类:
用户角度:
1、库函数
2、自定义函数
返回值角度:
1、无返回值函数(void)
2、有返回值函数
参数角度:
1、无参函数
2、有参函数
函数的声明(函数原型)
返回值类型 函数名(行参列表);
double add(double x,double y);
返回值类型 函数名(行参类型列表);
double add(double,double);
函数的定义
返回值类型 函数名(行参列表){
// 函数体
}
double add(double x,double y){
return x + y;
}
函数名:动词 或则 动词+名词
注意:C 语言中,所有函数是平行,而且同一项目中,函数名不能相同
函数的调用
1、函数语句(printf("^_^");)
2、表达式(c = getchar();)(必须有返回值)
3、实参(putchar(getchar());)(必须有返回值)
行参:其实也是函数内部的变量,但是它的数据的初始化,来源与函数调用时候的实参,就是函数定义的
时候,函数名后面括号中的变量
实参:就是调用函数的时候,传递给对应行参变量数据的表达式;实参数量必须和行参相等,而且类型兼容
分享到:
相关推荐
(完整word版)C语言数组与函数阶段测试题答案-.doc
大一c语言数组实验心得.docx
主要介绍了C语言中数组作为函数的参数以及返回值的使用简单入门,这里以一维数组作为基本条件进行例子讲解,需要的朋友可以参考下
6.1 C语言数组的概念 6.2 C语言二维数组 6.3 C语言数组元素的查询 6.4 C语言字符数组和字符串 6.5 C语言字符串处理函数 6.6 C语言字符
基于C语言数组名作函数参数问题的分析研究.pdf
C语言全套资料 C语言程序设计 C语言算法 C语言课件 C语言顺序程序设计,C语言数组,C语言循环控制,C语言预处理命令,C语言文件操作指针,C语言选择结构程序设计,C语言结构体与共用体,C语言文件操作,C语言函数
C语言指针数组函数笔记,自己总结的,希望有帮助
有很详细的注释,可以作为一维数组操作函数进行参考。操作可供选择。 int length(int *array); 返回数组元素个数 int copyarray(int *src, int *dest); 成功返回0, 失败返回-1 int printarray(int *array); 打印 ...
C语言中指针、数组和函数的综合应用与实例解析.pdf
主要给大家介绍了关于C语言中二维数组作为函数参数来传递的三种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用C语言有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
这是我用c语言写的程序,我的其他资源都是免费的,是对于c语言初学者的帮助比较大的,其中有数据结构,window编程。我也在学c语言,每当我写完一个程序,我都会免费发上来。
C语言数组名作函数参数
动态申请内存和释放内存 多维数组 动态定义数组
C语言循环、数组、函数及指针练习题精选及答案,习题经典,答案详细!
C的数组不太好用,简单封装后可以实现范围内的可变长数组,值得自己,终于可以不用在原生的数组上纠结了
C语言的简单基本实例,包括循环、嵌套、数组、指针、函数、结构体等内容。
C语言精华,针对指针、数组、函数调用等深入浅出式的讲解,摘抄自blog...
1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。 2、数组名对应着(而不是指向... 3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
298-用数组作函数参数控制流水花样(51单片机C语言实例Proteus仿真和代码)298-用数组作函数参数控制流水花样(51单片机C语言实例Proteus仿真和代码)298-用数组作函数参数控制流水花样(51单片机C语言实例Proteus仿真和...
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。