c语言
手写helloword
这个作者很懒,什么都没留下…
展开
-
二维数组和数组指针
二维数组:int arr[3][4];每个元素arr[0],arr[1],arr[2]等价于一维数组名,所以也是子数组的首地址。 二维数组名arr是首地址,可以理解为是指向第一个子数组的数组指针,如int (*p)[4] = arr。所以对“指针”arr取内容*arr就是第一个子数组名。区别是sizeof(arr)等于整个二维数组的存储空间大小,可见数组名代表了整个数组;而sizeof(p)只是等于一个指针变量的存储空间大小。 二维数组名是地址,+1偏移一个子数组的大小,如int arr[3][原创 2022-01-14 00:36:22 · 587 阅读 · 0 评论 -
函数指针、函数指针数组、返回值为函数指针的函数
函数指针指向函数的指针,函数名本身就是地址,是函数代码在存储空间中的起始地址。int getMax(int a,int b){ return a>b?a:b; }int (*p)(int, int) = getMax;//也可以是&getMax,编译器显示类型是一样的(*p)(1,2);//p(1,2)也是可以的值得一提是代码中getMax和&getMax类型一样,都是int (*)(int,int])函数指针。指针数组数组...原创 2022-01-13 00:28:53 · 401 阅读 · 0 评论 -
c语言常量指针和指针常量
一、常量指针:指向常量的指针。int const *p(const int *p); p = &a;p可以改变指向,可以指向常量和非常量,但不能用*p修改指向变量的值。二、指针常量:常量,存放的地址不能改变。int *const p = &a;必须初始化,不能改变指向。1)指向非常量的指针常量:int *const p = &a;只能指向非常量(因为int a,&a类型是int *,普通指针),不能指向常量(因为const int a,&a类原创 2022-01-09 23:02:18 · 3078 阅读 · 0 评论 -
C语言冒泡排序和选择排序
一、冒泡排序法假设从小到大排序,例一数组:int arr[] = {2,1,34,5}。arr[0]元素先跟相邻的arr[1]元素相比,如果比它大则交换两个元素,大的数值放在后面。然后比较arr[1]和arr[2]的大小,以此类推,直至第n-2个和第n-1个元素(n为数组大小)进行比较为止。此时找出了数组中最大的元素放在了最后一位,完成第一次冒泡排序。第二次排序对数组的前n-1个元素进行冒泡排序,第三次排序对数组的前n-2个元素进行冒泡排序......以此类推,直至数组前两个元素比较完为止。原创 2022-01-05 11:13:01 · 7042 阅读 · 2 评论