• 指针入门(三)


    指针和内存

    c程序在编译后,主要有3种使用内存的方式:

    (1)静态/全局内存:这里的变量在程序开始时分配,程序终止内存消失。所有函数都能访问全局变量,静态变量的作用域则局限在定义该变量的函数内部。

    (2)自动内存:主要在函数内部声明,函数在调用时才创建,声明周期与被调用函数一样短暂。

    (3)动态内存:对上分配内存,根据需要创建和释放,释放后即会消失。指针引用分配的内存,作用域局限在引用内存指针。

    指针主要用来操作内存中的数据,理解内存的分区和组织方法更容易弄清指针如何操作内存。

     

    指针的基本概念:

    (1)指针变量:内存中别的变量、对象或函数的地址。

    (2)指针对象:内存分配函数(malloc)分配的内存。

    (3)指针的类型:通常根据指针所致的数据类型进行声明。

    (4)指针对象:可以是任何合法的C数据类型,基本类型或合成类型等。

    (5)指针本身:不包含所引用数据类型信息,只包含地址。


    指针的用途:

    (1)动态内存分配

    (2)传递数据结构

    (3)作为参数传递给函数

    (4)作为返回数据的类型

    (5)高效访问数组

    (6)更容易访问合成数据类型


    指针的缺点(空针错误):

    (1)访问数组和其他结构时越界

    (2)自动变量消失后被引用

    (3)堆上分配的内存释放后被引用

    (4)内存分配前解引指针

  • 相关阅读:
    Linux实时性分析-schedule-调度器
    中断解析
    网络商城-PrestaShop
    和学生的学习互动记录(10嵌)
    QQ记录
    Windows7硬盘安装Fedora16图文教程
    今目标登录时报网络错误E110
    vs环境配置——vs快捷键配置——vs插件配置——vs环境设置
    如何防止app接口被别人调用
    mvc4 找到多个与名为“xx”的控制器匹配的类型
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/6823181.html
Copyright © 2020-2023  润新知