美文网首页
C语言指针/引用/取值

C语言指针/引用/取值

作者: 夏黒 | 来源:发表于2018-12-18 11:01 被阅读0次

指针是一个存储计算机内存地址的变量。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例如int、long和double。指针也可以是void类型、NULL指针和未初始化指针。

根据出现的位置不同,操作符 * 既可以用来声明一个指针变量,也可以用作指针的取值。当用在声明一个变量时,*表示这里声明了一个指针。其它情况用到*表示指针的取值。

&是地址操作符,用来引用一个内存地址。通过在变量名字前使用&操作符,我们可以得到该变量的内存地址。


// 声明一个int指针

int*ptr;

// 声明一个int值

int  val = 1;

// 为指针分配一个int值的引用

ptr = &val;

// 对指针进行取值,打印存储在指针地址中的内容

int deref = *ptr;

printf("%d\n", deref);


第2行,我们通过*操作符声明了一个int指针。接着我们声明了一个int变量并赋值为1。然后我们用int变量的地址初始化我们的int指针。接下来对int指针取值,用变量的内存地址初始化int指针。最终,我们打印输出变量值,内容为1。

第6行的&val是一个引用。在val变量声明并初始化内存之后,通过在变量名之前使用地址操作符&我们可以直接引用变量的内存地址。

第8行,我们再一次使用*操作符来对该指针取值,可直接获得指针指向的内存地址中的数据。由于指针声明的类型是int,所以取到的值是指针指向的内存地址存储的int值。

说穿了,指针就是地址吧,这里可以把指针、引用和值的关系类比为信封、邮箱地址和房子。一个指针就好像是一个信封,我们可以在上面填写邮寄地址。一个引用(地址)就像是一个邮件地址,它是实际的地址。取值就像是地址对应的房子。我们可以把信封上的地址擦掉,写上另外一个我们想要的地址,但这个行为对房子没有任何影响。

相关文章

  • C语言指针/引用/取值

    指针是一个存储计算机内存地址的变量。从指针指向的内存读取数据称作指针的取值。指针可以指向某些具体类型的变量地址,例...

  • C语言数据结构-链表大解剖

    链表抽象结构解析 引用、解引用、指针、链表赋值取值 链表抽象结构解析 引用、解引用、指针、链表赋值取值

  • 链表代码注意事项

    1、理解指针或引用的含义 比如C语言是指针,就是相当于JAVA的引用 2、警惕指针丢失和内存泄漏 C 语言,内存管...

  • c++11智能指针父类指针转换为子类指针

    1 C语言指针类型转换 C语言中的指针就是裸指针,裸指针存储是指向计算机内存的某一(起始)地址,通过*取值操作符可...

  • C语言19 指针取值的两种方式

    C语言19 指针取值的两种方式 一级指针和多级指针 *()与[]的互换表示 总结

  • 详解C++指针和引用

    C++是在C语言的基础上发展来的。C++除了有C语言的指针外,还增加一个新的概念——引用,初学者容易把引用和指针混...

  • C++程序设计学习笔记:1 从C走进C++ 引用

    在C++语言中,“引用”相当于给变量起了一个别名。C语言并没有引用这个概念,C语言用指针实现类似的功能。 引用的语...

  • * 与 & 区别

    基本概念 C++ 是 C 语言的超集。C++ 有一种C 语言不存在的变量类型 --- 引用变量(简成引用)。 指针...

  • C语言指针之---指针声明与取值

    普通类型变量的声明 char a =10 ; //声明一个char类型,值为10的a变量short b = 20;...

  • Java空指针异常:java.lang.NullPointerE

    1.什么是空指针 指针只存在于c语言中,Java中是没有指针的,空指针就是空引用,java空指针异常就是引用本身为...

网友评论

      本文标题:C语言指针/引用/取值

      本文链接:https://www.haomeiwen.com/subject/ntpkkqtx.html