zoukankan      html  css  js  c++  java
  • C语言-数组与指针

    一、指针(Pointer)

        概念:指针是一个存储内存地址的变量(或数据对象)。

        C语言程序开发中,当通过类似于 int num = 10方式定义一个对象时候,系统会为num对象开辟一块内存空间用来储存num的值,同时系统会开辟一块内存用来储存num所对应的内存地址,储存num内存地址的变量即为指针。其实现过程如下图所示:

        指针的应用:
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            int num = 10;
            int *p_num = &num;/*&为取地址符,用来获取num对象的内存地址*/
            *p_num = 20;/*通过内存地址修改对象内容*/
            printf("num的内存地址为:%p
    p_num为:%p
    num的值为:%d
    ",&num,p_num,*p_num);/*  *p_num意思为通过内存地址获取对象内容  */
            // 野指针:指向的内存地址不存在的指针
            // 空指针:不指向任何内存的指针
        }
        return 0;
    }
    

        输出结果为:

    num的内存地址为:0x7ffeefbff64c
    p_num为:0x7ffeefbff64c
    num的值为:20
    Program ended with exit code: 0
    

    二、数组(Array)

     (一)数组的概念


        用来存储一组数据的构造数据类型。

        特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素。


     (二)数组的定义

        格式: 类型+数组名+[元素个数];

        Int ages[5]={17,18,19,20,21};

     (三)数组内存存储

        数组的地址 == 数组名(ca)== 数组的首元素的地址&ca[0]

        在内存中,内存从大到小进行寻址,为数组分配了存储空间后,数组的元素自然的从上往下排列存储,整个数组的地址为首元素的地址。模拟该数组的内存存储细节如下:


     (四)二维数组

        Int ages1[3][10];//数组能够存放3个数组,每个数组存放10个数值,共3x10=30个述职数值.


        内存情况:


    回首过往,记录点滴
  • 相关阅读:
    端口扫描技术
    HBase——常用命令
    RabbitMQ——常用命令
    RabbitMQ——基于 KeepAlived + HAProxy 搭建 RabbitMQ 高可用负载均衡集群
    RabbitMQ——安装、集群搭建、镜像队列配置
    Zookeeper——常用命令
    MFC子对话框嵌入主对话框
    Find a way
    Avoid The Lakes
    变形课
  • 原文地址:https://www.cnblogs.com/hwangcheng/p/8524588.html
Copyright © 2011-2022 走看看