美文网首页
指针的输入输出问题

指针的输入输出问题

作者: 带着白卡去旅行 | 来源:发表于2018-09-06 13:02 被阅读4次

一级指针通过二级指针进行赋值修改 输出
指针释放内存空间问题
1、注意 :被调用函数中的形参不要随意改动。
2、demo搭建的顺序问题
【根据mytmp(char*p1,int len1,charp2,int *len2)调用函数的参数类型】

no.1 主函数中进行相应的创建
eg:charp1------charp1=null;
int len1--------------int len1;
no.2 调用:
主函数中的mytmp(&p1,&len1,&p2,&len2);无需管
/
*指针

被调用函数中的搭建
不用管p1,在使用时还是按照定义 char tmp1来使用,最后通过
p1=tmp1;进行修改【实现一个二级指针
p1对主函数中一级指针
p1进行了修改】

mytmp(char**p1,int *len1,char**p2,int *len2)
char*tmp=null;
tmp1=(char*)malloc(100);//在堆区建立内存空间
 strcpy(tmp1, "adsfdsf");
*p1 = tmp1;//通过tmp1进行赋值

demo

#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

int mytmp(char**p1,int *len1,char**p2,int *len2)
{
    char* tmp1 = NULL;//因为形参不呢个随意改变 所以定义一个char*tmp1 代替char**p1;
    tmp1 = (char*)malloc(100);
    strcpy(tmp1, "adsfdsf");
    if (tmp1==NULL)
    {
        return -1;

    }

    *p1 = tmp1;
    *len1 = strlen(tmp1);

    char* tmp2 = NULL;
    tmp2 = (char*)malloc(100);
    strcpy(tmp2, "12123243");

    if (tmp2 == NULL)
{
        return -2;
}
    *p2 = tmp2;
    *len2 = strlen(tmp2);

    return 0;
}

//指针释放 重点
void myrelease(char*p)
{
    if (p==NULL)
    {
        return;
    }
    free(*p);//时放实参指针变量所指向的内存空间。
    *p = NULL;//把实参修改为null
    return;
}



int main()
{
    char *p1 = NULL;//用二级指针修改一级指针
    int len1 = 0;

    char*p2 = NULL;
    int len2 = 0;

    int ret = 0;
    ret = mytmp(&p1,&len1,&p2,&len2);

    printf("p1:%s\n",p1);
    printf("len1:%d\n", len1);
    printf("p2:%s\n", p2);
    printf("len2:%d\n", len2);
    myrelease(&p1);
    myrelease(&p2);

printf("hello...\n");
system("pause");
return;
}

相关文章

  • 指针的输入输出问题

    一级指针通过二级指针进行赋值修改 输出指针释放内存空间问题1、注意 :被调用函数中的形参不要随意改动。2、demo...

  • 进击的NDK01-基本数据类型和指针

    NDK 基本数据类型 输入输出函数 指针 指针存储的是变量的内存地址内存地址,系统给数据分配的编号 变量名,对内存...

  • 小朋友学C++(45):指针与数组的关系

    数组名称实际上相当于一个指针,指向数组第一个元素所在的地址。 例1 用指针方式输入输出数组元素 运行结果: 分析...

  • C_Cpp-C语言回顾

    一.数据类型及长度 二.输入输出 三.指针 四.内存分配 简书: http://www.jianshu.com/p...

  • 指针问题

    Map1和Map2里面的value都指向了同一个People所以在Map2里面取出People还是修改值,还是会导...

  • C++学习 2018-12.17~12.23

    本星期主要学习了c++的基础语法,包括输入输出,函数,类,变量类型,作用域,循环,判断,数组,引用,指针刚开始看....

  • 函数参数(指针的指针)传递问题

    程序1 程序2: 程序3: 结果为1010 程序4: 结果为10100 为什么? 1.被分配内存的是形参s,p没有...

  • 指针相关的问题

    指针p的加减法运算 指针p + Np里面存储的地址值 + N * 指针所指向类型的占用字节数 指针p - Np里面...

  • js this指针的问题

    参考:https://juejin.im/post/59748cbb6fb9a06bb21ae36d 当函数独立调...

  • 笔记八

    二维数组指针:一定要知道指针的指向!!即指针指向哪里。指针的运算:注意移动字节数问题。指针与数组的关系:指针数组:...

网友评论

      本文标题:指针的输入输出问题

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