• 实验十总结


    指针变量的定义:
      类型名: *指针变量名
      注:
        类型名指定指针变量所指向变量的类型,必须是有效的数据类型。
        定义多个指针变量时,每一个指针变量前面都必须加上*。
        指针变量的类型不是指指针变量本身的类型,而是指它所指向的变量的数据类型。
        无论何种类型的指针变量,他们都是用来存放地址的。
        在定义指针变量时需要使用指针声明符*,但指针声明符并不是指针的组成部分。例如,定义int=*p; 说明p是指针变量,而不是*p。
    指针变量的赋值
        指针变量被定义后,必须将指针变量和一个特定的变量进行关联后才可以使用。(先赋值再运用)

    int i,*p;
    p=&i;
    p=0;
    p=NULL;
    p=(int*)1732

    几种指针表达式:
      *p:指针变量p所指向的变量。
      *p=*p+1、++*p、(*p)++,都是将指针p所指向变量的值加1、
      *p++等价于*(p++),先取*p的值作为表达式的值,再将指针p的值加一,运算后,p不在指向当前变量。


    重点理解:
      当p=&a后,*p与a相同。
      int *p;定义指针变量p
      *p=10;指针p所指向的变量,即a。
      &*p与&a相同,是地址
      *&a与a相同,是变量

    改变指针所指向变量的值:

    #include<stdio.h>
    int main()
    {
        int a=1,b=2,c;
        int *p1,*p2;
        p1=&a;
        p2=&b;
        printf("a=%d b=%d *p1=%d *p2=%d",a,b,*p1,*p2);
        printf("
    ");
        c=*p1;
        *p1=*p2;
        *p2=c;
        printf("a=%d b=%d *p1=%d *p2=%d",a,b,*p1,*p2);
        return 0;    
    }

    改变指针的指向

    #include<Stdio.h>
    int main()
    {
        int a,b,c,*p1,*p2;
        a=2;
        b=4;
        c=6;
        p1=&a;
        p2=&b;
        printf("a=%d b=%d c=%d *p1=%d *p2=%d
    ",a,b,c,*p1,*p2);
        p2=p1;
        p1=&c;
        printf("a=%d b=%d c=%d *p1=%d *p2=%d
    ",a,b,c,*p1,*p2);
        return 0;
    }

    改变指针的指向

    #include<Stdio.h>
    int main()
    {
        int a=1,b=2;
        int *p1=&a,*p2=&b,*pt;
        printf("a=%d,b=%d,*p1=%d,*p2=%d
    ",a,b,*p1,*p2);
        pt=p1;
        p1=p2;
        p2=pt;
        printf("a=%d,b=%d,*p1=%d,*p2=%d
    ",a,b,*p1,*p2);
        return 0;
    }

    指针作为函数的参数:

    在函数main()中调用函数时,将变量的地址作为实参,在被凋函数中用形参指针分别接收地址,并改变了形参所指向变量的值。

  • 相关阅读:
    JsBridge踩坑之WebViewJavascriptBridge is undefined,找不到Bridge对象
    Android踩坑之couldn't find "libClingSDK.so"
    GDM, KDM, LightDM, SDDM的区别和安装配置
    安装完ubuntu需要做得事
    apt vs snap
    在shell下执行命令的方法
    Vimmer一套全语言支持的完美Vim配置——附Monaco字体
    Ubuntu gnome安装Monaco字体,FontForge module is probably not installed
    Ubuntu全方位美化,定制教程
    stm32--FatFs调试过程(SPIFlash)
  • 原文地址:https://www.cnblogs.com/ght-c/p/6120006.html
Copyright © 2020-2023  润新知