zoukankan      html  css  js  c++  java
  • 指针学习笔记

    指针定义

    指针是一个值为内存地址的变量(或数据对象)


    赋值

    int *p=NULL;p=&a;(&取地址符)

    一个栗子

    int year=2016;
    
    int * ptr_year;
    
    *ptr_year=&year;(指向)

    又一个栗子

    int num=1024;
    
    int *ptr_num;
    
    ptr_num=#
    
    *ptr_num=1111; //此处等同于num=1111

    void指针

    一种特殊的指针类型,可以存储任意对象的地址

    (1)void *指针存放一个内存地址,地址指向的内容是什么类型不能确定

    (2)void 类型一般用来拿来和别的指针比较,作为函数的输入和输出或赋值给另一个void 指针


    初值问题

    指针必须有初值,否则会出现野指针

    野指针指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为 NULL避免,而只能通过养成良好的编程习惯来尽力减少。对野指针进行操作很容易造成程序错误。


    小结

    (1)指针同样是一个变量,只不过该变量中存储的是另一个对象的内存地址

    (2)指针变量可以赋值,指针的指向在程序执行中可以改变

    (3)如果一个变量存储另一个变量的地址,则称该变量指向这个对象


    一些需要注意的点

    (1)指针变量的命名规则和其他变量的命名规则一样

    (2)指针不与现在变量同名

    (3)指针可为任何基本数据类型、数组和其他所有高级数据结构的地址

    (4)若指针已声明为指向某种数据类型数据的地址,则它不能用于存储其他类型数据的地址

    (5)应为指针指定一个地址后,才能在语句中使用指针

  • 相关阅读:
    在线用户数与并发用户数的区别和比例关系
    MYSQL中数据类型介绍
    5分钟教你搞定RAID模式
    nginx与fastdfs配置详解与坑
    Fastdfs group通过添加硬盘扩容
    fastDfs配置文件tracker.conf配置详解
    FastDFS配置详解之Storage配置
    mysql修改库名
    vCenter Server Appliance(VCSA )6.7部署指南
    如何知道一个函数的执行时间简单案例
  • 原文地址:https://www.cnblogs.com/loceaner/p/10690770.html
Copyright © 2011-2022 走看看