复习
masterli1688
这个作者很懒,什么都没留下…
展开
-
数组指针和指针数组的区别
数组指针和指针数组的区别数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。p=a...转载 2019-03-06 10:50:23 · 1017 阅读 · 0 评论 -
通过传递地址值在被调函数中直接改变调用函数中的变量的值
我们知道形参值的改变并不能改变对应实参的值,把数据从被调用函数返回到调用函数的唯一途径是通过return语句返回函数值,这就限定了只能返回一个数据。但是通过传送地址值,可以在被调用函数中对调用函数中的变量进行引用,这也就使得通过改变对应实参的值有了可能。利用此形式就可以把两个或两个以上的数据从被调用函数返回到调用函数。下面以传送地址的方式改变两个数的值。题目:编写一个swap函数,把主函数中...转载 2019-03-06 10:44:17 · 899 阅读 · 1 评论 -
main函数执行前后都发生了什么
1.main函数第一行代码执行之前会调用全局对象和静态对象的构造函数,初始化全局变量和静态变量。2.main函数最后一行代码执行之后会调用在atexit中注册的函数,并且调用顺序和注册顺序相反。...转载 2019-03-06 10:37:52 · 283 阅读 · 0 评论 -
const修饰指针的用法:常量指针和指针常量
const修饰指针的用法:常量指针和指针常量const通常用来修饰变量不能够更改值,多用来保护变量或参数。 const int b = 100; //b = 0;错误 当const修饰指针时,由于const的位置不同,它的修饰对象会有所不同。如下代码,int *const p2中const修饰p2的值,所以理解为p2的值不可以改变,即p2只能指向...转载 2019-03-06 14:17:48 · 565 阅读 · 0 评论 -
C++中常量指针和指针常量的区别
C++中常量指针和指针常量的区别一、常量指针常量指针本质是指针,常量修饰它,表示这个指针是一个指向常量的指针(变量),也就是指向一个无法修改的量。C++中常量指针定义为:const int* a,当然int const * a也可以,不过习惯用第一种了。使用常量指针时要注意,指针指向的对象不能通过这个指针来修改,因为对象现在是常量了,不可以修改,例如:int tmp = 65;...转载 2019-03-06 14:20:28 · 372 阅读 · 0 评论 -
指向指针的指针
指向指针的指针!!(能让初学者绕晕的东西)如果一个指针变量存放的又是另一个指针变量的地址,则称这个变量为指向指针的指针变量或指向指针的指针。定义方式: 数据类型 **变量名; int a=10; //地址为&a int *p=&a; //指针地址为&p 如果是p就是a的地址 int **p1=&p; //指针地...转载 2019-03-06 18:27:30 · 22533 阅读 · 4 评论 -
通过函数指针实现四则运算
通过函数指针实现四则运算希望在增加整数运算函数时,只需添加整数运算韩束本身,而无需修改运算函数,这就需要在运算函数中使用函数指针来代替指针运算类型参数。int process(int a,int b,int(* p)((int ,int)){return p(a,b);}int main(){int a=10,b=20;int res1=process(a,b,add);...转载 2019-03-07 11:05:58 · 2537 阅读 · 0 评论 -
利用typedef定义函数指针
利用typedef定义函数指针进入正文: 代码简化, 促进跨平台开发的目的. typedef 行为有点像 #define 宏,用其实际类型替代同义字。 不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。用法一:typedefint(*MYFUN)(int, int);这种用法一般用在给函数定义别名的时候上面的例子定义MYFUN...转载 2019-03-07 11:22:58 · 2663 阅读 · 0 评论