关闭

双重指针的使用

89人阅读 评论(0) 收藏 举报
分类:

//函数实现输入字符间有多个空格,则只保留一个空格。可通过函数返回指针实现,也可通过传递双重指针,改变单重指针的值实现。

//要改变指针的值,传递给函数的必须多一重指针。(函数参数的传递即数值拷贝的过程,仅仅拷贝形参是不会改变实参的值,必须拷贝地址值,通过地址,即指针的指向改变

//实参

//http://www.jb51.net/article/37516.htm

//在使用数组作为函数参数时,int array[6]和int array[]都会转化为int *array

void deblank( char **string)
{
    char a[100];
    int i=0,j=0;
    int flag_before=1,flag_after=1;
    for(;(*string)[i]!='\0';i=i+1)
    {
        if((*string)[i]==' ')
            flag_after=0;
        if((*string)[i]!=' ')
            {
            a[j]=(*string)[i];
            j=j+1;
            flag_after=1;
            }
        if((*string)[i]==' '&&flag_after^flag_before==1)
            {a[j]=(*string)[i];
            j=j+1;
            }
        flag_before=flag_after;
    }
    a[j]='\0';
    *string = a;
    printf("%s\n",a);
}
int main()
{
    char c[40];
    printf("input the character!\n");
    gets(c);
    //scanf("%s",c);
    printf("%s\n",c);
    char *p;
    p=c;
    deblank(&p);
    printf("%s",p);
    return 0;
}
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

如何使用双重指针

双重指针的使用 单重指针已经够蛋疼了,c语言中还引入了双重指针,甚至若干重指针。使得这个情况变得更加复杂。虽然以前一直觉得双重指针也不过如此,指针的指针嘛,还不是照样理解,但是上一次重删代码...
  • a18852867035
  • a18852867035
  • 2016-03-28 10:12
  • 2096

C中双重指针的使用的易错点

写blog之前,看了很多CSDN的文章,都表示坚持写blog对一个程序员来说是很好的习惯,我以前也觉得写blog也只是浪费时间和精力,觉得自己弄懂了就好,然而事实上过一段时间后碰到相同的问题却还是需要...
  • in_aday
  • in_aday
  • 2015-07-23 10:38
  • 1816

void* 指针有什么用

void*其实可以理解为一个context,利用它可以很好的实现C语言面向对象编程。我觉得使用void*,不是为了看起来合适,而是一个约定,使用C/C++编程的人员看到void*,习惯性的就会认为——...
  • xy010902100449
  • xy010902100449
  • 2015-08-11 22:02
  • 1409

双重指针的用法

前言 1、本人QQ – 330952038 欢迎一起学习交流。 2、指针一直都是C语言的灵魂,我们平常用得最多的是一维指针,而双重指针用得相对较少,本文是对二维指针进行一个学习。首先看一道习题...
  • gdjason
  • gdjason
  • 2016-04-11 18:19
  • 2218

【VS开发】【C/C++开发】传递双重指针申请内存,典型用法

传递双重指针申请内存,典型用法 指针参数是如何传递内存的? 如果函数的参数是一个指针,不要指望用该指针去申请动态内存。如下示例中,Test函数的语句GetMemory(str, 1...
  • LG1259156776
  • LG1259156776
  • 2016-10-26 16:51
  • 511

双重指针做函数参数的意义

一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short...
  • u013656962
  • u013656962
  • 2015-12-29 14:24
  • 1383

双重指针做参数传递

今天话了点时间想了一下用双重指针做参数传递的问题,以前一直只知道用,没有细想过为什么,今天正好有点xian。   #include"stdio.h" void fun(char * pa) ...
  • g200407331
  • g200407331
  • 2016-11-08 20:24
  • 436

深入理解双指针

转载:http://blog.csdn.net/feiyinzilgd/archive/2010/02/09/5302369.aspx 对于C语言的参数传递都是值传递,当传传递一个指针给函数...
  • h_wlyfw
  • h_wlyfw
  • 2014-03-12 10:32
  • 1096

空指针和void *类型指针

今天,有个师弟问我:“师兄,空指针和void *类型指针是怎样的?” 当时,我大概的说法是: 1、空指针是没有指向的指针,将暂时用不到的指针定义成空指针,能防止误用。 2、而void * 类型的指针是...
  • luo_technically
  • luo_technically
  • 2016-10-01 01:12
  • 1503

C语言指针高级部分:void指针和数据指针

概念 void指针 数据指针 void指针void指针的基本概念void的意思就是“无类型”,void指针则为“无类型指针”,void指针可以指向任何类型的数据。 所以void指针一般被称为通用指针或...
  • qq_29924041
  • qq_29924041
  • 2017-02-05 17:50
  • 1078
    个人资料
    • 访问:833次
    • 积分:68
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类