孙Cloud的C语言学习博客-8-数组

这篇博客开始对C语言中数组的学习,数组1.0!gogogo!

  • 数组
    数组的定义就是一组相同元素的集合,在创建数组时括号内必须是常量表达式[]中是不能放入变量的,eg:int/char/double arr [10]

  • 数组的初始化
    int arr [10] = {1,2,3}; >>不完全初始化,剩下的元素都为零。
    char arr2 [5] = {“a”,“b”}; >>内存中只有两个字符a和b
    char arr3 [5] = “ab”; >>内存中有三个值a,b,\0
    char arr4 [] = “abcdef”; >>系统会自动分配空间
    这里有个相似的两个东西可以说一下,他们虽然相似但二者并没有什么联系:sizeof 和 strlen()
    操作符>>sizeof 计算数组所占空间大小
    库函数>>strlen (需要引用头文件)计算字符串的长度>>> \0之前字符个数
    【】>>>下标引用操作符 数组访问操作符

  • 二维数组
    int arr [3][4] ; //三行四列
    初始化
    int arr [3][4] = {1,2,3,4,5} >> 1234/5000/0000
    int arr [3][4] = { {1,2,3},{4,5}} >> 1230/4500/0000
    如果想把【】【】中的值省略只能省略行!不能省略列!

  • 冒泡排序
    先把冒泡排序的函数部分写下来,可以供我以后反复观看,加深记忆
    void bubble_sort (int arr[] , int sz)
    {
    int i = 0 ;
    for(i=0;i<sz-1;i++)
    {
    int flag = 1;
    int j = 0;
    for (j=0;j<sz-1-i;j++)
    {
    if(arr[j]>arr[j+1])
    {
    int tmp = arr[j];
    arr[j] = arr[j+1];
    arr[j+1]=tmp;
    flag = 0 ;
    }
    if(flag==1)
    {
    break;
    }
    }
    }
    }

  • 数组名就是首元素地址!!!即int arr[] = {1,2,3,4,5,6,7}
    得到 arr=&arr[0]是相等的, *arr = 1
    但有两个例外!sizeof(数组名)>>>计算的是整个数组的大小,单位字节
    &数组名,代表的整个数组,取出的是整个数组的地址

  • 小笔记
    1.%c >>> 打印数组
    2.%p >>> 打印地址
    3.10进制 0-9
    4.16进制 0-9 a b c d e f
    5.if语句不能用break,break只能用于跳出循环

猜你喜欢

转载自blog.csdn.net/weixin_44719191/article/details/108041955
今日推荐