指向指针的指针

原创 2007年09月26日 17:40:00

先看一个例子:
    
     #include <stdio.h>
     char buf[10] = "hello";

     void pro(char *out)
     {
         out = buf;
     }

     main()
     {
         char *p = NULL;
        
         pro(p);
         printf("%s/n", p);
     }

     我们想在函数pro()中改变指针p的值(记住:是指针p的值,而不是p所指向的地址的值)。能实现吗?
     结果是不能,为什么?我们来分析一下。

     如果不用函数pro(),我们可以直接在主函数中用 p = buf 来实现。如果使用函数pro(),就变得稍微复杂了。
     因为我们要在函数pro()中改变指针p的值,而函数pro()又没有返回值,如何记住这个改变呢?
     我们可以先用简单的例子说明:

     #include <stdio.h>

     void pro(char *out)
     {
         out[1] = 'o';
     }

     main()
     {
         char *p = "hello";
         pro(p);
         printf("%s/n", p);
     }
    
     这个例子是改变了字符串指针p所指向的字符串的指,它能记住这个改变是因为在函数中是对指针所指向的地址
     空间进行操作。你明白了吗?也就是说,函数的参数是char *out,我们可以改变 *out,但改变不了out本身。
     所以针对第一个例子,我们要想改变p,必须把&p当作参数传给函数pro()。修改后的例子如下:

 
     #include <stdio.h>
     char buf[10] = "hello";

     void pro(char **out)
     {
         *out = buf;
     }

     main()
     {
         char *p = NULL;
        
         pro(&p);
         printf("%s/n", p);
     }

 

理解一般指针和指向指针的指针

申明:本文非笔者原创,原文转载自:http://www.cnblogs.com/dzry/archive/2011/05/12/2044835.html 在说指向指针的指针之前,不得...
  • carson2005
  • carson2005
  • 2014年04月01日 10:29
  • 1387

C++指针数组和指向指针的指针

指针数组 定义: 如果一个 数组,其元素均为指针型数据,该数组为指针数组,也就是说,指针数组中的每一个元素相当于一个指针变量,它的值都是地址。 形式: 一维指针数组的定义形式为: int【类型名】...
  • QianShouYuZhiBo
  • QianShouYuZhiBo
  • 2013年07月29日 00:19
  • 8339

理解一般指针和指向指针的指针

理解一般指针和指向指针的指针 在说指向指针的指针之前,不得不说指向变量的指针。先看如下示例: 1. 指向整型指针 先看如下示例: View Code  1 #include   2 ...
  • g200407331
  • g200407331
  • 2016年09月21日 17:08
  • 7250

计算32bit无符号整数乘以32bit无符号整数,结果保存在两个32bit指针指向的地址中。

  • 2017年07月06日 09:11
  • 857B
  • 下载

指针指向分析

  • 2016年02月16日 21:04
  • 2.69MB
  • 下载

C语言用指向数组的指针作函数参数小例子

  • 2015年11月20日 17:39
  • 1.64MB
  • 下载

指向函数的指针

  • 2016年05月16日 17:31
  • 1.06MB
  • 下载

指向函数的指针运用

  • 2014年09月02日 15:14
  • 189KB
  • 下载

【C语言经典实例】-指向结构体的指针变量

本实例通过结构体指针变量实现在窗体上显示学生信息,运行程序后,将学生信息输出在窗体上,效果如图所示: 在本实例中,我们先声明一个结构体变量,并定义一个指针变量指向struct student...
  • Liangqi0329
  • Liangqi0329
  • 2015年08月16日 17:10
  • 1594

C语言中指向函数的指针(我见过的讲的最清晰的文章)

转帖自: http://wenku.baidu.com/view/7e566448cf84b9d528ea7a57.html 1 定义和调用程序在编译后,每个函数都有一个首地址(也就是函数第一...
  • gsnet
  • gsnet
  • 2013年02月26日 16:00
  • 3646
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:指向指针的指针
举报原因:
原因补充:

(最多只允许输入30个字)