zoukankan      html  css  js  c++  java
  • c++指针 c指针 改变值

    1.
    #include <iostream>

    using namespace std;

    void move(int *p)    ====>void move(*&p)
    {

        p++;
    }

    int main()
    {
        int attr[]={1,2,3,4,5};
        int *p=attr;
        cout<<*p<<endl;
    //    p++;
        move(p);
        cout<<*p<<endl;
        return 0;
    }


    为什么第二次打印 值不变 ,指针也是变量,传指针是可以改变值,但你这里 :改变的是指针值(地址),没有改变指针指向的值
    换成move(*&p) 可破
    2.c语言写的这个
     #include <stdio.h>
    void move(int* p) 
    {

        ++p;  
       printf("%d  ",*p);
     }
                    
       int main()
       {   
           int attr[]={1,2,3,4,5};
           int *p=attr;
       printf("%d  ",*p);
                  //    p++;
           move(p);
       printf("%d  ",*p);
        return 0;
     } 
     
    这样的话。
    #include <stdio.h>
    
    void move(int** p);
    
    int main(void)
    {
        int arr[]={34,55,26,35,64,74};
        int *p=arr;
    
        printf("%d 
    ",*p);
        move(&p);
        printf("222222222   %d 
    ",*p);
         return 0;
    }
    void move(int** p)
    {
         (*p)++;
         printf("insert %d 
    ",**p);
    }
    View Code
  • 相关阅读:
    MySQL联结查询
    MySQL的一些优化方法
    MySQL 基本操作
    一个关于python定制类的例子
    用python类方法处理参数
    python global的用法
    sqli-libs(29(jspstudy)-31关)
    sqli-libs(23-28a关)
    sqli-libs(11-22关)
    sqli-libs(5-10关)
  • 原文地址:https://www.cnblogs.com/qbmiller/p/4054828.html
Copyright © 2011-2022 走看看