zoukankan      html  css  js  c++  java
  • 指针

    指针是指向一个数据类型的地址,*表示一个指针,&表示取地址。

    例子:

    #include<stdio.h>

    int main(void)
    {
    int a,b;
    char c;
    int *point_a,*point_b;
    char* point_c;
    char* point_d ="pointer";
    a=100;
    b=10;
    c='c';
    point_c=&c;
    point_a = &a;
    point_b = &b;
    printf("a=%d,b=%d,c=%c,c=%d ",a,b,c,c);
    printf("point_a=%d,point_b=%d,point_c=%d ,point_d=%d ",point_a,point_b,point_c,point_d);
    printf("*point_a=%d,*point_b=%d,*point_c=%d,*point_d=%d ",*point_a,*point_b,*point_c,*point_d);
    printf("point_d str=%s ",point_d);
    printf("*point_d str=%s ",*point_d);
    return 0;
    }

    运行结果:

    $ ./pointer.exe
    a=100,b=10,c=c,c=99
    point_a=6277868,point_b=6277864,point_c=6277863
    ,point_d=4206640
    *point_a=100,*point_b=10,*point_c=99,*point_d=112
    point_d str=pointer
    Segmentation fault (核心已转储)

    从上面例子可以看到:

    1)指针指向一个数据类型的地址,*表示指针类型,没有*表示一个指针变量,也表示所指变量地址,*+指针变量表示所指变量的内容

    2)变量要获取地址,可以通过&取地址符获取。

    3)char*类型的字符指针,指针变量通过整形输出是字符串地址,通过字符串类型输出是字符串内容

    4)char*类型的字符指针,*+指针变量通过整形输出是第一个字符的ASCII码,通过字符串类型输出报段错误。

  • 相关阅读:
    QT 界面刷新
    剑指 Offer 65. 不用加减乘除做加法
    3.nvidia-docker安装
    6.通过docker配置深度学习环境
    2.docker安装
    OSG+Visual Studio2015项目变量设置;
    Learning OSG programing---osgwindows
    日常学习网站推荐
    开发 MFC 应用的一般过程
    FVWM使用指南
  • 原文地址:https://www.cnblogs.com/jason207489550/p/6662282.html
Copyright © 2011-2022 走看看