数组的认识

#include <stdio.h>#include <string.h>int main(){    int arr[10] = { 1,2,3 };    char arr2[5];    char arr3[] = { 'a','b','c' };    printf("%d\n", strlen(arr));    printf("%d\n", strlen(arr2));    printf("%d\n", strlen(arr3));    return 0;}

对于数组有一个简单的认识,用sizeof就能得到数组所占的字节大小了,srelen是无法得到正确的数据的,因为strlen函数遇到‘\0’字符才会终止计数,所以在遇到一个随机值为‘\0’时才会终止计数。

冒泡排序法

#include <stdio.h>void bubble_sort(int arr[],int sz){    int i = 0;    int j = 0;    int flag = 1;    for (i = 0; i < sz-1; i++)    {        for (j = 0; j < sz -1 -i; j++)        {            if (arr[j] > arr[j+1])            {                arr[j] = arr[j]^ arr[j+1];                arr[j+1] = arr[j]^ arr[j+1];                arr[j] = arr[j]^ arr[j+1];                flag = 0;            }        }        if (flag == 1)        {            break;        }    }    for (i = 0; i < sz; i++)    {        printf("%d  ", arr[i]);    }}int main(){    int arr[] = { 10,9,8,7,4,5,6,3,2,1 };    int sz = sizeof(arr) / sizeof(arr[0]);    bubble_sort(arr,sz);    return 0;}

对于数组的初始化和打印有了一定的认识,对冒泡法有了更深的理解。另外还有就是,不管是一维数组还是二维数组,在内存中的排列都是顺序排列,每一个元素占对应类型的字节长度,在内存中的地址连续。

数组名的理解

#include <stdio.h>int main(){    int arr[] = { 1,2,3,4,5,7,8 };    printf("%p\n", arr);    printf("%p\n", arr+1);    printf("%p\n", &arr[0]);    printf("%p\n", &arr[0]+1);    printf("%p\n", &arr);    printf("%p\n", &arr+1);    printf("%d\n", sizeof(arr));    return 0;}//sizeof(数组名),计算整个数组的大小,sizeof内部放一个数组名,数组名表示的是整个数组//&数组名,数组名表示的是整个数组,&数组名,取出来的是整个数组的地址。//除了以上两个钟情况外,数组名只代表首元素地址。

以上代码能很好的代表数组名在不同的情况下有什么样的含义,函数调用之中也只是往函数里传送了一个地址,存为一个指针,在冒泡排序的那里就有很好的体现,因为第一次就写错了,无法实现目的,也无法在函数内部计算数组元素个数。
今天的内容比较简单,连续的学习,偶尔也会想稍微慢一点,明天就能做出三子棋和部分扫雷的实现,还挺激动。。

©著作权归作者所有:来自51CTO博客作者赤晴的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 用原生 JavaScript 实现十大 jQuery 函数[每日前端夜话0x94]
  2. shell脚本之灵活调用函数技巧
  3. 一篇文章完全掌握 JavaScript 数组操作[每日前端夜话0x87]
  4. 函数式编程思维在三行代码情书中的应用
  5. 关于 Hive开窗函数
  6. string.h中部分函数的实现
  7. JavaScript算法题:查找数字在数组中的索引[每日前端夜话0x69]
  8. 学习C的第三天-函数
  9. 学习C的第三天-数组

随机推荐

  1. JQuery框架的使用
  2. 小白也能学会装“win10系统”,轻松撩妹
  3. 介绍几款 Python 类型检查工具
  4. Python猫荐书之六:文也深度学习,理也深度学
  5. 视频当道的时代,这些珍藏的优质 Python 播
  6. MySQL 8 OCP(1Z0-908)认证考试题库原题(第
  7. 如何给列表降维?sum()函数的妙用
  8. Python进阶:如何将字符串常量转为变量?
  9. len(x) 击败 x.len(),从内置函数看 Python
  10. sum() 函数性能堪忧,列表降维有何良方?