美文网首页
数组类型,数组指针,和数组指针类型变量

数组类型,数组指针,和数组指针类型变量

作者: 司马捷 | 来源:发表于2016-06-28 14:25 被阅读21次
#include <stdio.h>
#include "stdlib.h"
#include "string.h"

int main(int argc, const char * argv[]) {
   
    /**指针数组
     *  数组:
     元素类型角度,数组是相同类型的变量的有序集合,测试指针变量的内存空间大小.
     内存的角度:连续的一大片内存空间
     */
    /**
     *  数组的初始化
     */
    int arr1[10] = {1,2};
    int arr2     = {1,3};
    int arr3[200]     = {0};//全部是0; 编译的时候,已经确定所有的值为零
    memset(arr3, 0, sizeof(arr3));//数组内存空间初始化  显示的重置内存块.
    
    /**
     *  1.数组首元素的地址和数组的地址  arr3 数组首元素的地址.
        &arr3 是整个数组的地址. &arr3+4 步长是200*4;
     */
    
    typedef int (MyArray)[5];//定义一个数组类型
    MyArray myArray;
    for (int i = 0; i<5; i++) {
        myArray[i] = i+1;
    }
    for (int i = 0; i<5; i++) {
        printf("%d",myArray[i]);
    }
    // insert code here...
    printf("\nHello, World!\n");
    
    
    /**
     *  数组指针  用一个指针指向数组
     */
    MyArray *pArray;//定义一个指针变量,这个指针变量指向一个数组
    
//    pArray = &myArray;
    int myArray2[5];
    pArray = &myArray2;//可以通过指针变量操作内存空间   相当于二级指针
    
    for (int i = 0; i<5; i++) {
//        myArray2[i] = i+1;
        (*pArray)[i] = i+1;
    }
    printf("数组指针\n");
    for (int i = 0; i<5; i++) {
        printf("%d",(*pArray)[i]);
    }
    printf("\n");
    
    /**
     *  定义一个数组指针变量的第二种方法
     */
    typedef int (*PArrayType)[5];//定义一个数组类型
    
    PArrayType pMyArray;//分配一个指针变量.
    
    int c[5];
    pMyArray = &c;
    
    /**
     *  开始通过指针变量操作内存空间
     */
    for (int i = 0; i<5;i++) {
        (*pMyArray)[i] = i+1*10;
    }
    printf("数组指针\n");
    for (int i = 0; i<5; i++) {
        printf("%d",(*pMyArray)[i]);
    }
    printf("\n");

    return 0;
}

相关文章

  • 指针与数组和函数的几个关系

    指针数组、数组指针 指针数组。数组的元素类型是指针如:int* a[4] 数组指针。指向数组的指针变量如:int ...

  • 数组类型,数组指针,和数组指针类型变量

  • 阶段复习

    什么是指针?举例说明指针数组和数组指针的区别。指针: 定义(类型名变量名), 用于保存地址, 地址保存的值类型和指...

  • 嵌入式day08

    指针数组 所谓指针数组是指 由若干个具有相同存储类型和数据类型的指针变量构成集合 形式:<存储类型> <数据类型>...

  • Go语言数组、切片、映射

    数组 声明和初始化 访问指针数组的元素 相同类型(数组长度和每个数组元素类型相同)的数组变量可以互相赋值。 二维数...

  • 7.C语言-指针

    1. 二维数组 2.字符指针变量和字符数组 3. 有关指针的数据类型的小结 4. void指针

  • 指针2

    指针三要素1正在自身类型, 指针指向的类型 ,指针指向的地址 数组指针 int(*p)[5] 指针数组 int ...

  • Go核心语言编程 - 复合数据类型(3)

    Go对应的复合数据类型有数组,字典,指针,切片,通道,结构和结构,他们字面类型如下: • 指针 • 数组• 数组初...

  • 指针数组和数组指针

    1、指针数组 指针数组:指针的数组,数组的每一个元素为此类型的指针。 如:int* a[10];数组a的10个元素...

  • Go 简明教程 三步走 中级篇

    GO 数组、指针、结构体 数组 认识指针地址和指针类型 每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的...

网友评论

      本文标题:数组类型,数组指针,和数组指针类型变量

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