栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

指针的基础

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

指针的基础

1:指针:就是地址

2.&变量名:获得该变量的地址,&称为取地址符

3.指针变量:访问指针变量指向的内容,间接访问符或者解引用

解引用实例(主函数如下)

int main()
{
    int a = 10;
    int b = 20;
    int c = 30;
    //定义指针变量p1,保存a的地址
    int* p1 = &a;
    //定义指针变量p2,保存b的地址
    int* p2 = &b;
    //定义指针变量p3,保存c的地址
    int* p3 = &c;
    //通过p1,把a的值改为50,并通过p1输出a的值
    *p1 = 50; printf("%dn",*p1);
    //通过p1,p2,p3把c=a+b;(不允许出现a,b,c)并通过p1,p2,p3输出a,b,c的值
    *p3 = *p1 + *p2; printf("%d,%d,%dn",*p1,*p2,*p3);
    //通过p1,p2,p3把c=a*b;(不允许出现a,b,c)并通过p1,p2,p3输出a,b,c的值
    *p3 = *p1**p2; printf("%d,%d,%dn", *p1, *p2, *p3);

    return 0;
}

4. 指针变量:1.也是变量,值可以改变;2.也可以获取它的地址.
    它和普通变量的区别:1.指针变量能解引用,普通变量不可以
    指针类型必须严格相同才能赋值

5.指针的大小:x86:32位平台,指针4字节;x64/arm64:64位平台,8字节

int main()
{
    printf("%dn", sizeof(char*));//4
    printf("%dn", sizeof(unsigned short*));//4
    printf("%dn", sizeof(int*));//4
    printf("%dn", sizeof(float*));//4
    printf("%dn", sizeof(double*));//4
    printf("%dn", sizeof(long****));//4
    printf("%dn", sizeof(long long*));//4

    return 0;
}

5.修改指针的方向

int main()
{
    int a = 10;
    int b = 20;
    int c = 30;//必须保证同一种类型
    int* p = &a;
    *p= 60;
    printf("%dn", *p);
    p = &b;
    *p = 70;
    printf("%dn", *p);
    p = &c;
    *p = 80;
    printf("%dn", *p);

    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号