c语言-数组
来源:互联网 发布:海南省最新网络诈骗案 编辑:程序博客网 时间:2024/06/04 18:13
一维数组, 字符数组
- 数组: 存储相同数据类型一组数的组合. 数组也是一种数据类型
- 定义: 数据类型 数组名[常量表达式] = {值1, 值2,..};
- 作用: 快速定义多个变量.
int a[] = {20, 21, 20, 22, 21}; // 注意: 该种定义方式,系统默认数组中有5个元素short b[5] = {2, 4}; // 注意: 该种数组定义方式, 一定要写数组元素个数
- 数组元素所占字节数: 数组元素个数 * 单个元素所占的字节数
- sizeof() : 计算数据类型,所占字节数
- 数组长度.此处length函数无效(c非面向对象)
int count = sizeof(a) / sizeof(int); printf("count = %d\n", count);
访问数组元素,通过下标
- 数组名[下标]
- 注意: 数组下标从0开始,c语言不能检测数组下标越界,需要特别注意.
- 打印 数组a的元素
- 遍历: 逐个取到数组中的元素
数组排序
- (重点) 冒泡排序(升序): 比较大小再作交换
int a[] = {23, 53, 21, 55, 54}; int count = sizeof(a) / sizeof(int); // 数组元素个数 int Tang = count - 1; // 比较的趟数 // 第一个元素跟其他元素比较趟数,所以n-1次 int times = count - 1; // 每趟比较的最大次数,该趟可能出现的最大交换次数 n-1 // 外层for循环控制比较趟数 for (int j = 0; j < Tang; j++) { // 内层for循环控制比较次数 // 内层循环 -j ,是为了调高程序执行效率,可减可不减 for (int i = 0; i < times - j; i++) { // // 冒泡排序核心: 如果前一个数,比后一个大,就交换 if (a[i] > a[i + 1]) { int temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; } } }
字符数组
- 存放字符变量的数组
char a[] = {'i', 'P', 'h', 'o', 'n', 'e'};
- 字符串,特殊的字符数组,以 \0 结尾. 长度 包含’\0’.
- 有’\0’结束标识的字符数组也称为字符串
char b[] = "iPhone"; printf("%lu\n", sizeof(b));
- 输出字符串: %s , 当遇到\0时结束输出
printf("%s\n", b);
字符串处理函数有:
- strlen(char *) 计算字符串长度(不包含’\0’). 注意 sizeof()是计算内存大小,所以包含’\0’.
unsigned long len = strlen(b); printf("%lu\n", len);
- strcpy(char , char ) 字符串拷贝函数: 将后一个字符串中的内容, 拷贝到第一个字符串中
trcpy(b, "aaaa22ddw");printf("%s\n", b);
- strcat(char , const char ) 字符串拼接,从前一个字符串\0位置开始,拼接后一个字符串
对第一个字符串定义长度必须要大,否则会溢出.
char e[4]={'1','2','4','5'}; char j[] = {'0','\0','d'}; char f[]="678"; strcat(b, e); printf("我%s\n", b);
- strcmp(char *s1, char *s2) 字符串比较 前一个字符串中的字符,逐个与后一个字符串中的字符相比较(ASCII码表对应的十进制数进行比较),直到不相等,得出比较结果.
- 当s1 < s2时,返回为负数
- 当s1 = s2时,返回值= 0
- 当s1 > s2时,返回正数
printf("%d\n", strcmp("aadfg", "aadf0"));
0 0
- C语言动态数组
- C语言的数组
- c语言 数组 指针
- c语言数组详解
- C语言字符数组
- C语言--指针,数组
- C语言变长数组
- C语言数组
- C语言数组
- 【C语言】数组--待续
- C语言数组
- C语言 数组拆分
- c语言 动态数组
- C语言数组
- C语言:数组
- c语言指针数组
- c 语言数组
- C语言变长数组
- Android编译、打包的步骤
- 重要的事情看三遍!!!!!(持续更新中
- 登陆验证(ajax)
- 子类与父类中同名的变量是private,而父类中是public
- LeetCode:Valid Parentheses算法详解
- c语言-数组
- 辜舱祭铀只岳按酌咽
- 安装bcrypt报错node-gyp rebuild解决方法
- AFNetwork 2.5 修正版
- POJ 1816 Wild Words 字典树+DFS
- C#Dev DateEdit控件判定日期取值区间
- 修改JavaScript脚本并离线编译后将数据同步到Web和Web app
- IOS菜鸟的所感所思(十二)——专辑接口和专辑中歌曲数据的获得(下)
- C反汇编示例分析