嵌入式C语言 4 一维数组

数组知识点:
定义并初始化 int a[5] = {0};   


数组为int型,内含5个元素,a表示数组的首元素地址("%p"), 意味着 a =&a[0]都表示首元素地址,但是&a表示的意义不一样,&a表示整个数组的地址,如果将&a+1,那么地址将变为原来的地址+整个数组的字节数。

数组内元素个数不可为变量。数组在内存中连续排布,低元素a[0]始终位于低地址。在函数中的局部未初始化数组为垃圾值(局部变量的数组必须初始化),在函数外全局变量中数组默认初始化为0。数组一旦定义,名字不可更改,因此也被称作常指针。

字符数组: char a[5] = { '0' }


冒泡排序: 输入10个整数,对其进行从大到小排序。

#include <stdio.h>

int main()

{

    int a[10] = {0};

    int i;

    for(i = 0 ; i < sizeof(a)/sizeof(a[0]) ; i++ )

    {

        scanf("%d" , &a[i]);

    }

    int m,n;

    for( m =0 ; m < sizeof(a)/sizeof(a[0]) -1 ; m++)

    {

        for( n = 0; n < sizeof(a)/sizeof(a[0]) - m -1 ; n++)

        {

            if( a[n] < a[n+1] )

            {

                int t =a[n];

                a[n] = a[n+1];

                a[n+1] = t;

               }

        }

    }

for(i=0; i < sizeof(a)/sizeof(a[0]) ; i++)

{

    printf("%d ", a[i]);

}

return 0;

}


注意事项:

外层循环意味着要挑出9个数:循环9次

内层循环意味着比较次数:9-i-1次  分别为8 7 6 5 4 3 2 1 次

输入的数据只能多余10个,不可少于10个




©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容