zoukankan      html  css  js  c++  java
  • C奇特的声明

    声明时可以使用的修饰符
    修饰符 含义
    * 表示一个指针
    () 表示一个函数
    [] 表示一个数组

     C允许使用多个修饰符,这就使得可以创建如下各种各样的类型:

    int board[8][8]; // int数组的数组
    int **ptr; // 指向int的指针的指针
    int *risks[10]; // 具有10个元素的数组,每个元素是一个指向int的指针
    int (* risks)[10]; // 一个指针,指向具有10个元素的int数组
    int * oof[3][4]; // 一个3*4的数组,每个元素是一个指向int的指针
    int (* uuf)[3][4]; // 一个指针,指向3*4的int数组
    int (* uof[3])[4]; // 一个具有3个元素的数组,每个元素是一个指向具有4个元素的int数组的指针
    

    修饰符的使用规则:

    1. 表示一个数组的[]和表示一个函数的()具有相同的优先级,且高于间接运算符*的优先级。

    int * risks[10]; // risks是一个指针数组,而不是指向数组的指针

    2. []和()都是从左到右进行结合的。

    int goods[12][50]; // goods是一个由12个具有50个int值的数组结构组成的数组,而不是一个由50个具有12个int值的数组结构组成的数组

    3. ()还可以解释成普通的圆括号。

    int (* rusks)[10]; // risks是一个指向数组的指针
    int * oof[3][4]; // oof是一个具有3*4个int *类型元素的二维数组
    int (* uuf)[3][4]; // uuf是一个指向具有3*4个int类型元素的二维数组的指针

    使用typedef建立一系列相关的类型:

    typedef int arr5[5];
    typedef arr5 * p_arr5;
    typedef p_arr5 arrp10[10]; 
  • 相关阅读:
    HTTP 协议详解
    HTTP抓包工具之Fiddler
    C#网络编程(订立协议和发送文件)
    C#编程总结(十)字符转码
    通信协议:HTTP、TCP、UDP
    C# 对象、文件与二进制串(byte数组)之间的转换
    从输入URL 到页面加载完成的过程
    java动手动脑
    大道至简第二章读后感
    《大道至简》第一章 读后感
  • 原文地址:https://www.cnblogs.com/qwertWZ/p/2869544.html
Copyright © 2011-2022 走看看