专栏首页海天一树小朋友学C语言(28):指针

小朋友学C语言(28):指针

(一)内存地址

#include <stdio.h>
int main()
{
    int var1 = 20;
    printf("变量var1的值为:%d\n", var1);
    printf("变量var1的内存地址为:%p\n", &var1);
    return 0;
}

运行结果:

变量var1的值为:20
变量var1的内存地址为:0x7ffd7ed6060c

这里20这个值是放在内存中地址为7ffd7ed6060c的空间中,0x是代表十六进制的意思。

(二)指针

指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。

#include <stdio.h>
int main ()
{
       int  var = 20;  /* 变量var的声明 */
       int  *p;        /* 指针变量p的声明 */
       p = &var;       /* 在指针变量中存储 var 的地址,也就是给指针变量赋值 */
    /* var在内存中的地址 */
       printf("Address of var: %p\n", &var  );
       /* 在指针变量中存储的地址 */
       printf("Address stored in p: %p\n", p );
    /* 指针本身在内存中的地址 */
    printf("Address of p: %p\n", &p);
    /* 使用变量访问值 */
    printf("var = %d\n", var);
       /* 使用指针访问值 */
       printf("*p = %d\n", *p );
       return 0;
}

运行结果:

Address of var: 0x7ffecc6d7ea4
Address stored in p: 0x7ffecc6d7ea4
Address of p: 0x7ffecc6d7ea8
var = 20
*p = 20

本文分享自微信公众号 - 海天一树(gh_de7b45c40e8b),作者:海天一树

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-11-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小朋友学C语言(1):Hello World

    首先,需要一款C语言的编译器,可以使用在线编译器,也可以在本地安装编译器,比如Mac电脑可以安装Xcode,PC可以安装Dev C++。 若是第一次编写程序,建...

    海天一树
  • 洛谷题解P4326 求圆的面积

    https://www.luogu.org/problemnew/show/P4326

    海天一树
  • NOIP 2014初赛普及组C/C++答案详解

    题目: https://wenku.baidu.com/view/05014660de80d4d8d15a4fb1.html?from=search

    海天一树
  • 【互联网+公装】—齿轮易创合作伙伴inDeco官网上线,流量增长50~60%

    据统计,2016年的公装市场规模达到了2.38万亿元,且一直处于增长的态势。由于损耗较大,公装产品更新需求极快,一般历经5-10年就需要迭代,在“个性化”空间展...

    齿轮易创说互联网
  • 各种开源汇编、反汇编引擎的非专业比较

    由于平时业余兴趣和工作需要,研究过并使用过时下流行的各种开源的x86/64汇编和反汇编引擎。如果要对汇编指令进行分析和操作,要么自己研究Intel指令集写一个,...

    战神伽罗
  • React Native在Windows下修改js代码后reload无效

    iOS下因为有watchman这个插件,所以启动很快(npm start),而Windows下则非常慢,最要命的是遇到了修改js文件后,点击reload居然一直...

    meteoric
  • mongodb11天之屠龙宝刀(六)mapreduce:mongodb中mapreduce原理与操作案例

    mongodb11天之屠龙宝刀(六)mapreduce:mongodb中mapreduce原理与操作案例 原文连接:直通车

    学到老
  • [L2]TensorFlow模型持久化~模型加载

    通过TensorFlow提供tf.train.Saver类提供的save函数保存模型,生成对应的四个文件,因为TensorFlow将计算图的结构以及图上的变量参...

    Chenkc
  • mongodb11天之屠龙宝刀(六)mapreduce:mongodb中mapreduce原理与操作案例

    mongodb11天之屠龙宝刀(六)mapreduce:mongodb中mapreduce原理与操作案例 一 Map/Reduce简介 MapReduc...

    学到老
  • JavaScript函数及其prototype

    函数可以通过声明定义,也可以是一个表达式。 (1)函数声明式: 分号是用来分隔可执行JavaScript语句,由于函数声明不是一个可执行语句,所以不以分...

    奋飛

扫码关注云+社区

领取腾讯云代金券