美文网首页
关于指针

关于指针

作者: Allen的光影天地 | 来源:发表于2018-09-23 23:39 被阅读11次

今天认真分析了下指针,有一些感悟:
函数传递参数,只有传地址才能更改对应参数的值。
按照上面的原理,我们如果想要更改的是指针,那么我们必须传入指针的地址!!
也就是所谓的双层指针。
下面是我自己设计的一个验证代码,可以清晰看出,如果函数不传入指针地址的话,指针是不会移动的,依旧在原来的P头。

#include <stdio.h>
#include <stdlib.h>
typedef struct PolyNode *Polynomial; // 多项式本身就是一个指针
struct PolyNode{
    int coef;  // 系数
    int expon; // 指数
    Polynomial link;  // 指向下一个位置
};

void Test(Polynomial *p, Polynomial p2){
    Polynomial pp;
    pp = (Polynomial)malloc(sizeof(Polynomial));
    pp->expon = 3;
    pp->coef = 2;
    pp->link = NULL;
    (*p)->link = pp;
    *p = pp;
    p2->link = pp;
    p2 = pp;
}

int main()
{
    Polynomial p, temp1, temp2;
    p = (Polynomial)malloc(sizeof(Polynomial));
    p->coef = 4;
    p->expon = 5;
    temp1 = p;
    temp2 = p;
    Test(&temp1, temp2); // 修改内容,我们要传地址; 修改地址,我们要传地址的地址!!!
    PrintPoly(temp1);
    PrintPoly(temp2);

    return 0;
}

相关文章

  • C:函数指针的坑

    关于该死的函数指针和指针函数 先来个目录 常量指针、指针常量 数组指针、指针数组 函数指针、指针函数 1、先看第一...

  • C++对象模型(2)

    本文预览: 关于vptr(虚函数表指针)和vtbl(虚函数表) 关于this指针 关于Dynamic Bindin...

  • 关于指针

    简介 c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是c语言的灵魂,一点都不为过。...

  • 关于指针

    本文为学习使用 在C语言中任意的同类型指针都可以比较大小指针变量是一个表示[内存地址]的长整数而已,当然可以比较。...

  • 关于指针

    今天认真分析了下指针,有一些感悟:函数传递参数,只有传地址才能更改对应参数的值。按照上面的原理,我们如果想要更改的...

  • 关于指针

    《POINTERS ON C》一书总结指针以下方面:指针基础警告总结编程提示 指针基础的总结 计算机内存中的每一个...

  • 关于指针

    关于指针 1. 程序对变量的读写操作,实际上是对变量所在的存储空间进行写入或取出数据。 2. 通过变量名引用变量,...

  • 关于指针传递和指针的指针

    一开始没有理解,导致对这个概念非常的模糊和不解。最近看完《 彻底搞定C语言指针详解》,里面关于指针的指针的解释有了...

  • c语言的指针

    关于指针 指针就是地址,凡是出现“指针”的地方,都可以用“地址”代替,例如,变量的指针就是变量的地址,指针变量就是...

  • void 和 void*

    void指针是什么? void指针一般被称为通用指针或泛指针,它是C关于“纯粹地址(raw address)”的一...

网友评论

      本文标题:关于指针

      本文链接:https://www.haomeiwen.com/subject/snxcoftx.html