C语言
文章平均质量分 65
陵先生的笔记本
这个作者很懒,什么都没留下…
展开
-
C语言中的多级指针
多级指针其实就是在一个地址对应的空间里存放着另一个地址,通过地址一次次跳转,最终找到存着真实数据的那个地址,并通过***p3找到了地址a里面的数据——200指针变量也是一种变量,也会占用存储空间,也可以使用&获取它的地址。C语言不限制指针的级数,每增加一级指针,在定义指针变量时就得增加一个星号*。p1 是一级指针,指向普通类型的数据,定义时有一个*;p2 是二级指针,指向一级指针 p1,...转载 2019-04-26 14:47:48 · 192 阅读 · 0 评论 -
C语言的函数指针——指向函数的指针,与指针函数的意思完全不一样哦!
函数也是存放在一段连续的地址空间的!与数组相似,子函数也是存放在一段连续的地址空间,所以子函数也可以通过访问函数名(等同于访问数组名)调用,这种方法称为函数指针。具体方法为:把函数的这个首地址(或称入口地址)赋予一个指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用该函数。以下例子可以较为清晰的说明:#include <stdio.h>//返回两个数...转载 2019-04-26 15:16:30 · 404 阅读 · 0 评论 -
C语言的二维数组指针——与指针数组完全不同哦!
二维数组指针重点在于指针定义和指针对地址的操作这两点上!下面这个程序和程序下面的文字可以较好的体现#include <stdio.h>int main(){ int a[3][5] = { {0, 1, 2, 3,6}, {4, 5, 6, 7,8}, {8, 9, 10, 11,9} }; int (*p)[5];//此处不能去除括号!否则就不再是指向某个数...转载 2019-04-26 16:40:23 · 1967 阅读 · 0 评论 -
c语言中的枚举——类似于宏,却更简洁
枚举是一种类型,通过它可以定义枚举变量比如:enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun }枚举和宏其实非常类似:宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值。我们可以将枚举理解为编译阶段的宏。【注意】!枚举列表中的 Mon、Tues、Wed 这些标识符的作用范围是全局的(严格来说是 main() 函数...转载 2019-04-28 10:41:58 · 1091 阅读 · 0 评论 -
利用C的指针在子函数进行变量交换
原理在不使用全局变量的情况下,用指针变量作函数参数可以将函数外部的地址传递到函数内部,使得在函数内部可以操作函数外部的数据,并且这些数据不会随着函数的结束而被销毁。错误方法:#include <stdio.h>void swap(int a, int b){ int temp; //交换变量内的数据 temp = a; a = b; b = temp;}int...转载 2019-04-25 16:03:25 · 368 阅读 · 0 评论 -
指针在函数传递数组时的运用
如果希望在函数内部操作数组,必须传递数组指针此代码表示了数组在函数间传递的方法,通过在子函数内修改数组数值,更明显表示了传入的是数组地址#include <stdio.h>int max(int *intArr, int l)//intArr接受一个传入的地址,等价于int *a = &b;{ //*intArr接收到数组地址后,intArr即为数组第一个元素所在地址...转载 2019-04-25 16:31:15 · 7919 阅读 · 0 评论 -
C语言中的指针函数——返回指针的函数
当C语言中子函数的返回值是一个指针(地址)时,我们将这个子函数称为指针函数#include <stdio.h>#include <string.h>//这个子函数的*strlong是返回了return的首地址对应的数组。//因为子函数返回的是一个指针,所以子函数名称需要定义为指针格式char *strlongchar *strlong(char *str1, c...转载 2019-04-25 18:28:39 · 2509 阅读 · 0 评论