C 语言之数组

2015-12-31  本文已影响47人  CarsonChen

一. 定义整型数组的方式

1. int array[5] = {0};     给定数组元素个数,且赋值均为0

2. int array[] = {1,2,3};  可不用给数组长度,根据元素值来进行判断

3. int array[5] = {1,2,3}; 长度与所给数字不符合时,剩余元素初始值则为0.

4. 数组下标由0开始. C语言中的语法糖 则为 array[i] 等价于 i[array].

5. 数组的输入与数组元素的初始化赋值借助for循环进行.

二. 冒泡排序与选择排序算法

1. 冒泡排序算法思想:依次比较数组各个元素的大小,从前至后,相邻两个比较,目标数滞后,进行换值操作.

源程序为升序排序

bool result = true;

int array [] = {2,4,5,7,8,9}

int size = 6;//数组长度

for (int i = 0; i < size -1 && result; i++) {

result = false;

for (int j = 0; j < size - 1 - i; j ++) {

if (array[j] > array[j + 1]) {

int temp = array[j];

array[j] = array[j + 1];

array[j + 1] = temp;

result = true;

}

}

}

2. 选择排序算法思想:类似指针,两个指针各一为,依次比较两个元素的大小,目标数前置.

源程序为升序排序

int array [] = {2,4,5,7,8,9}

int size = 6;//数组长度

for (int i = 0; i < size - 1; i++) {

int index = i;

for (int j = i + 1; j < size; j++) {

if (array[index] >array[j]) {

index = j;

}

}

if (index != i) {

int temp = array[index];

array[index] = a[i];

a[i] = temp;

}

}

三. 字符数组

1. 字符数组的定义

char str1[] = {'a','b','c'}; 字符数组的元素为字符类型

char str2[] = "abc";字符数组可直接赋值字符串但字符串结束标志位\0

2. 字符串操作的相关函数

a,b均为字符数组

以下函数停止条件均为检测到'\0'

strlen(a)获取a字符串或字符数组长度,返回值为long类型

strcpy(a,b)将b中的字符串拷贝到a中,注意a中的空间要足够的大

strcat(a,b)将b中的字符串拼接到a中,注意a空字符的长度要大于b

strcmp(a,b)将a与b中的字符串依次对应为做差(即字符的ASCII码值做差)判断两者字符串是否相同.

借助%s的格式控制符输出字符串

3. 内存分配空间

即为栈内存分配原则,从高地址位向低地址位分配,由低地址位向高地址位存储

上一篇下一篇

猜你喜欢

热点阅读