zoukankan      html  css  js  c++  java
  • DoublePointer (**)

    双重指针

     1 #include<stdio.h>
     2 
     3 int main(viod)
     4 {
     5     int a = 1;
     6     int b = 2;
     7     int * p = &a;
     8     int * p1 = p;
     9     int * p2 = &b;
    10 
    11     printf("a`s adress = %p", p);
    12     printf("
     p1`s value = %p", p1);
    13     alterPointer(p, p2);
    14     printf("
    %p---%p", p, p2);
    15     printf("
    a = %d", (*p));
    16     printf("
    b = %d", (*p2));
    17     alterPointerP(&p, p2);
    18     //alterPointerp(p, p2);
    19     printf("
    %p---%p", p, p2);
    20     printf("
    %d", (*p));
    21 }
    22 
    23 void alterPointer(int * pointer, int * pointer1)
    24 {
    25     (* pointer) = 3;
    26 }
    27 
    28 void alterPointerP(int ** doublePointer, int * pointer)
    29 {
    30     (*doublePointer) = pointer;
    31 }

    要想在一个函数里改变另个一函数里的 变量, 只能通过 变量的地址 来改变,将 变量的地址传给函数;

    要想在一个函数里改变另一个函数里的 指针, 只能通过 指针的地址 来改变,将 指针的地址传给函数;

    其实 指针 很简单,就只要记住 指针 是地址!

  • 相关阅读:
    序列化与反序列化
    进程与线程
    winform基础
    MD5加密
    Docker安装Nextcloud+collabora office+ocdownloader
    Docker安装MariaDB
    Docker 安装 Nginx
    Docker命令大全
    Docker之镜像操作
    Linux入门-Docker安装
  • 原文地址:https://www.cnblogs.com/AI-Cobe/p/9316693.html
Copyright © 2011-2022 走看看