c语言*数组
来源:互联网 发布:华为推送 java服务端 编辑:程序博客网 时间:2024/06/05 13:27
C语言提供了一种功能,用来创建一组有序的数据,称之为“数组”
定义数组
int grades[100];
将grades声明为一个包含100个整型元素的数组。使用0~99的下标就可以调用这些数据。
tips:编译器不会检查数组的越界问题,如果引用数组的150号下标元素,不会出现问题,但是取不到我们想要的数据,程序员自己要清楚数组的越界问题。
例如 int buf[5] = {“12345”}
此时的数组已经越界了 用strlen(不统计\0)来测buf数组大小此时为6,已经不准确了。
初始化数组
完全初始化:
int arr[5] = {1,2,3,4,5};
定义了一个整型数组并且全部初始化
char str[5] = {‘A’, ‘B’, ‘C’, ‘D’,’E’};
定义了一个字符数组str并且初始化为 ‘A’ ‘B’ ‘C’ ‘D’ ‘E’
部分初始化:
数组可以不用全部初始化,int arr[3]={1}; 就是把arr[0]=1,其他没有初始化的将被设定为0。
数组写零:
int arr[3]={};
数组名左值与右值
右值:数组名可以作为右值,表示该数组首元素的首地址。
注意:arr,&arr,&arr[0]的值相同,即表达的内容相同。
int *p = arr; == int *p =&arr[0];
左值:数组名不可以作为左值。原因:1.数组名在编译后为常量只读。2.数组作为一个整体,没有匹配的数值与其空间对应。
数组做为函数入参时
数组名作为函数参数时就退化为了一个指针
传递进去的是它首元素的首地址。
因此在函数中对于数组进行操作时,要加上数组的大小(lenth)。
(1)利用数组实现冒泡排序:
(2)利用数组实现选择排序:
(3)利用数组实现进制的装化:
(4)利用传值调用实现冒泡排序
(5)利用传值调用实现选择排序:
(6)利用传值调用实现数组中的元素互换
(7)二分法查找数组中的数
7.1 循环
7.2 递归
(8)利用传值调用实现数组元素的循环向右移动
- C语言动态数组
- C语言的数组
- c语言 数组 指针
- c语言数组详解
- C语言字符数组
- C语言--指针,数组
- C语言变长数组
- C语言数组
- C语言数组
- 【C语言】数组--待续
- C语言数组
- C语言 数组拆分
- c语言 动态数组
- C语言数组
- C语言:数组
- c语言指针数组
- c 语言数组
- C语言变长数组
- Qt for Windows:Qt 5.9.3 MinGW 静态编译版本(包含OpenSSL)
- Swing窗体
- Add Digits(leetcode)
- 基本字符串压缩 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。
- Python简化类例二:实现变量的私有化,Python没有真正的私有变量,而简化类可以真正实现变量的私有
- c语言*数组
- laravel envoy详解
- 我的心得
- springboot 开发入门,及问题汇总
- Struts2访问servlet API的方法
- 先进先出页面置换算法c语言源码
- Hive数据倾斜问题总结
- codeforces893 A-D
- Python简化类例三:实现类实例的事件定义