加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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(;
}

比较的是两个指针指向的值的大小。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读