zoukankan      html  css  js  c++  java
  • C语言 二级指针内存模型③

    //二级指针内存模型③
    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    //内存模型详解
    //一维数组类型是  typedef int Myarr[5]; Myarr a;(其中Myarr是一维数组类型)
    //Myarr *p;p是一维数组的指针
    //是一维数组的指针的类型是 typedef int(*PArrType)[5]; PArrType p;(其中PArrType是数组指针类型)p指向的是一个数组
    //p=&a;
    //typedef int(*PArrType)[5]; PArrType p;p也可以直接定义为int(*p)[5]; p是数组指针,指向一个 typedef int Myarr[5];类型的数组
    //p的步长是 sizeof(int)*5=40个字节
    
    
    
    
    //遍历数组
    int printfarr(char(*pin)[20], int num){
        int ERRO_MSG = 0;
        if (pin == NULL)
        {
            ERRO_MSG = 1;
            printf("pin==NULL erro msg:%d
    ", ERRO_MSG);
            return ERRO_MSG;
        }
        int i = 0;
        //打印数组
        //注意 pin的步长是 sizeof(char)*20   pin+1 跨度是20个字节
        for (i = 0; i < num; i++)
        {
            printf("%s
    ", *(pin + i));
        }
        return ERRO_MSG;
    }
    
    void main()
    {
        char tarr[3][20] = { "aaa", "bbb", "ccc" };
        //tarr本质上是一个一维数组的指针 其类型是 typedef char(*PArrType)[20];  步长是 sizeof(char)*20
        //typedef char(*PArrType)[20]类型的变量可以直接定义为  char(*p)[20]
        printfarr(tarr, 3);
        system("pause");
    }
  • 相关阅读:
    c# 门禁随笔
    DataTable到Access
    C#文件上传
    C#操作文件
    JavaScript 全局封装
    jsavascript 目录的操作(摘抄)
    12-STM32 ADC原理
    11-STM32 高级定时器TIM1/8
    10-STM32 基本定时器TIM
    9-STM32 WWDG窗口看门狗
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5485583.html
Copyright © 2011-2022 走看看