读书人

C程序设计语言-批改指针指向的内容、二

发布时间: 2013-10-07 19:41:22 作者: rapoo

C程序设计语言--修改指针指向的内容、二级指针的传递

首先记住两句话,函数传递有值传递和地址传递,要想修改某个内容的值,必须传递指向这块内容的地址。 这就引起了关于指针的最基本的两个内容:是修改指针还是修改指针指向的值,前者需要将指针的地址(也就是二级指针呗)传递给函数,后者则只需要指针本身即可。

要想在函数中修改他们的值,就要传递他们的地址。

凡是用到结构体的地方,都是用它的指针来做参数的,这是什么原因呢?最近发现,如果直接传结构体,编译器会把结构体的各个成员都一一压栈,而如果传递的是结构体指针的话,则只压一个结构体的指针就可以了,大为简洁。

有这么一个函数

    void change(char **p)     {         *p = na;     }     int main()     {         char *p = NULL;         change(&p);         printf("%s",p)//这回打印出来的就是wang了。     } 



读书人网 >编程

热点推荐