c语言之指针运算
发布时间:2020-12-16 09:07:10 所属栏目:百科 来源:网络整理
导读:// 定义一个指针变量 int *p; (1)指针可以进行加减一个整数:p++、p--、p+i、p-i、p+=i、p-=i等 (2)将一个变量的地址赋值给指针:int a = 1;p = a; (3)将数组首元素的地址赋值给指针:int array[3] = {1,2,3};p = array; (4)将数组第i个元素的地址赋
//定义一个指针变量 int *p; (1)指针可以进行加减一个整数:p++、p--、p+i、p-i、p+=i、p-=i等 (2)将一个变量的地址赋值给指针:int a = 1;p = &a; (3)将数组首元素的地址赋值给指针:int array[3] = {1,2,3};p = array; (4)将数组第i个元素的地址赋值给指针:p = &array[i]; (5)将函数的入口地址赋值给指针: #include<stdio.h> #include<iostream> int max(int,int); main() { int (*p)(int,int); p = max; res; res = p(2,3); printf("最大值是:%dn",res); system(pause); return 0; } int a,1)"> b) { if (a > b) { return a; } else { b; } } (6)将指针p2的值赋值给p1:int a = 2;int *p2 = &a;int* p1 = p2; (7)指针可以有空值:p = NULL; (8)两个指针变量可以相减: #include<stdio.h> main() { int a[4] = { 1,1)">3,1)">4 }; int* p1 = a; int* p2 = &a[2]; int p = (p2 - p1); printf(p的值是:%dn; } 如果两个指针变量都指向同一数组中的元素,则这两个指针之差为两个指针之间的元素个数,上述代码输出为2,因为之间元素为a[1],a[2]。假设变为p1-p2,那么输出结果就是-2,符号表明p1是在p2的后面。 (9)两个指针可以进行比较: #include<stdio.h>bool p = p2>p1; printf(; } 比较的是两个指针指向的值的大小。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |