part1-4
先来观察一下数组中的一组数据元素在内存中是否是连续存放的:

计算机为每个字符型数据分配1个字节的内存空间。从运行结果看到,5个元素的地址是连续的,每个元素占1个字节。
继续改动数组元素类型并调整输出格式符:

计算机为每个double型数据分配8个字节的内存空间,从运行结果看到,5个元素的地址是连续的,每个元素占8个字节。
由此可以验证总结出来数组这种数据结构的特点:
1. 类型相同的一组数据构成的集合
2. 这一组数据在内存中连续存放
Part5 编程练习
练习1:补全程序,查找一组整型数据的最大值
#include <stdio.h> int findMax(int a[], int n); const int N=5; int main() { int a[N]; int max, i; printf("输入%d个整数: \n", N); for(i=0;i<N;i++) scanf("%d",&a[i]); max=findMax(&a[0],N); printf("数组a中最大元素值为: %d\n\n", max); return 0; } int findMax(int a[], int n) { int i,max; max=a[0]; for(i=1;i<N;i++) if(a[i]>max) max=a[i]; return max; }
运行结果如下:
练习2:补全程序,使用冒泡法对字符数组由大到小排序
#include <stdio.h> const int N=4; void output(char x[], int n); void bubbleSort(char a[], int n); int main() { char string[N]={‘2‘,‘0‘,‘1‘,‘9‘}; int i; printf("排序前: \n"); output(string, N); bubbleSort(string, N); printf("\n排序后: \n"); output(string, N); printf("\n"); return 0; } void output(char x[], int n) { int i; for(i=0; i<N; i++) printf("%c", x[i]); } void bubbleSort(char a[], int n) { int i,t,j; for(i=0;i<n-1;++i) { for(j=0;j<n-i-1;++j) { if(a[j]<a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } }
运行结果如下:
评论连接:
https://www.cnblogs.com/yy-Siri/p/10769682.html
https://www.cnblogs.com/zzn123321/p/10765744.html
https://www.cnblogs.com/aoliaoliao/p/10769381.html
原文:https://www.cnblogs.com/Laupup/p/10770630.html