• C语言之指针基础概念


    今天就写一下关于C语言指针的一些感想吧。

    很多同学都搞不懂指针,我一开始也云里雾里没看懂指针,而且老师又把指针说得很难的样子。其实主要是把指针”*“的作用给弄混了,不用畏惧,细心点看就可以了。

    首先简介一下指针的概念好了。指针本身也是一个变量,只不过这个变量的值比较特殊,它不是常规的整型数或者浮点数,而是指向另一个变量地址的值。通过指针的值可以知道另一个变量的地址以及存在该地址中的具体数值(该数值可以是整型,浮点型,结构体,甚至也可以是一个指针),通过指针得到另一个变量的具体值的方法叫做引用。基本概念大概就是这么点。

    其次通过上面的概念可以引出下面的内容。”*“有两个作用,一个是定义时出现的”*“代表这是一个指针变量,而在赋值的时候出现的”*“代表这是取出该地址所存储的值。单单这么说可能没概念,那就举个例子好了。

    int a=1;//定义一个值为1的变量a
    int *p=&a;//定义一个指针类型的变量p指向变量a,或者理解为将变量a的地址值赋给了指针变量p
    printf("输出指针p的引用值为:%d
    ",*p);//和上一行代码中的*p不同,这里的*p代表的是取出指针变量所指向地址中所存储的值

    所以,输出的内容为:”输出指针p的引用值为:1“。

    那么由此还可以得出下面两句等价代码:

    a=10;//给a赋值为10
    *p=10;//给指针p指向的地址的变量赋值为10,因为p指向a,所以*p就是a。所以这两句代码等价

    下面就给出完整的可运行C语言代码:

    #include<stdio.h>
    int main()
    {
        int a=1;
        int *p=&a;
        printf("输出指针p的引用值为%d
    ",*p);
        *p=10;
        printf("输出*p的值为:%d,此时a的值为%d
    ",*p,a);
        printf("输出指针p的值,即变量a的地址值为:%d
    ",p);
        return 0;
    }
    ** Then I looked up at the sky and saw the sun **
  • 相关阅读:
    enmo_day_07
    enmo_day_04
    enmo_day_05
    数据仓库的模型设计
    Lucene 概念,定义应用场景
    enum 枚举的简单应用
    单例模式&synchronized
    Spark的 DAGschedule & task schedule 区别以及相互联系
    Spark的stage & job & task 到底是什么 ,以及划分原理
    Java基本数据类型&引用类型总结
  • 原文地址:https://www.cnblogs.com/chenyangsocool/p/4518553.html
Copyright © 2020-2023  润新知