数组类型重命名
数组类型由元素类型和数组大小共同决定
数组指针是一个指针,只想对应类型的数组
指针数组是一个数组,其中每个元素都是指针
数组指针遵循指针运算法则
指针数组拥有c语言数组的各种特性

c通过typedef 为数组类型重命名
格式为 typedef type(name)[size]

数组类型:
typedef int(aint5)[5]
typedef float(afloat10)[10]

数组定义:
aint5 iarray; //定义了一个数组
afloat10 farray; //定义了一个数组

数组指针:
aint5* parray;
afloat10* parray;

直接定义:
type(*pointer)[n]; //pointer 是一个指针,type代表指向的数组的类型,n为指向的数组的大小。

code:

#include <stdio.h>
typedef int(AINT5)[];
typedef float(AFLOAT10)[];
typedef char(ACHAR9)[];
int main()
{
AINT5 a1;
float fArray[];
AFLOAT10* pf = &fArray;
ACHAR9 cArray;
char(*pc)[] = &cArray;
float(*pcw)[] = &fArray;
int i = ;
printf("%d, %d\n", sizeof(AINT5), sizeof(a1));
for(i=; i<; i++)
{
(*pf)[i] = i;
}
for(i=; i<; i++)
{
printf("%f\n", fArray[i]);
}
printf("%p, %p, %p\n", &cArray, pc+, pcw+);
return ;
}

c语言 数组类型的更多相关文章

  1. C语言 数组类型与数组指针类型

    //数组类型与数组指针类型 #include<stdio.h> #include<stdlib.h> #include<string.h> void main(){ ...

  2. c语言数组类型默认值(c99)

    #include <stdio.h> #include <stdlib.h> int main() { ] = {}; //每个值默认0 ; i < len; i ++) ...

  3. GO语言数组和切片实例详解

    本文实例讲述了GO语言数组和切片的用法.分享给大家供大家参考.具体分析如下: 一.数组 与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列. (1)数组的创建. 数组有3种创建方式: ...

  4. JS数组类型检测

    在强类型语言,数组类型检测是非常容易的事情(typeof就可以解决),而在弱语言JS数据类型就很容易混淆了. JS中常见的数据类型有:number.string.boolean.undefined.f ...

  5. delphi 数组类型

    数组类型 数组类型定义了一组指定类型的元素序列,在方括号中填入下标值就可访问数组中的元素.定义数组时,方括号也用来指定可能的下标值.例如,下面的代码中定义了一个有 24 个整数的数组:type     ...

  6. C语言指针类型 强制转换

    关于C语言指针类型 强制转换  引用一篇文章: C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值.不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个 ...

  7. 使用typedef语句定义数组类型

    使用typedef语句定义数组类型     1. 一维数组类型的定义格式 typedef <元素类型关键字><数组类型名>[<常量表达式>]; 例如: (1) ty ...

  8. C语言数组的学习

    什么是数组? 在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为数组. 在C语言中,数组属于构造数据类型.一个数组可以分解为多个数组元素,这 ...

  9. C语言数组

    在C语言中,对于三维或三维以上数组的使用并没有很好的支持,而且使用率也非常的低,后面会对三维数组做一些简单的分析,这篇文章主要以二维数组来探讨一些C语言中数组使用的相关概念和技巧. 1 一个var[i ...

随机推荐

  1. regarding-hsts-in-netscaler

    regarding-hsts-in-netscaler 参考: Strict Transport Security (STS or HSTS) with Citrix NetScaler and Ac ...

  2. 如何结合插件 vue-lazyload 来简单实现图片懒加载?

    插件地址:https://www.npmjs.com/package/vue-lazyload: 一.使用场景: 在项目中有很多条数的信息,且图片很多的时候,不需要一次把整个页面的图片都加载完,而是在 ...

  3. 用js原生加jquery实现下拉跳转至商品详情页,上拉回到商品简介

    在做一个商城的项目时,做到商品详情页的时候需要实现这种下拉跳转到商品详情页加载许多图片,上拉回到商品简介的效果,并且需要用户在滑动时有一种费力的感觉.最初是通过iscroll插件实现的,但这个插件在使 ...

  4. 批量更新sql

    跨库 批量更新 UPDATE a.table_1upINNER JOIN ( SELECT user_id, user_org_company_id, FROM b.table_2) AS tmp O ...

  5. 安装habse

    1.下载zookeeper-3.4.5.tar.gz, hbase-0.98.6-hadoop2-bin.tar.gz 2.上传到master的 /usr/local/src/目录下,解压zookee ...

  6. Win10系统更新提示错误0xc1900403的解决方法

    Win10系统自从发布上线以来,一直有不断地进行更新,而每次更新也给我们用户带来了大大小小不同的惊喜.但是近来一些用户反应说Win10系统更新一直失败,并出现0xc1900403的错误代码提示. 对于 ...

  7. Microsoft 中间语言

  8. IPC——管道

    概述 管道通信分为无名管道.有名管道 管道通信的本质 不管是有名管道,还是无名管道,它们的本质其实都是一样的,它们都是内核所开辟的一段缓存空间.进程间通过管道通信时,本质上就是通过共享操作这段缓存来实 ...

  9. 【2017-12-12】Winform----Datagirdview使用

    1.数据绑定 DataGirdView.DataSource = list集合 2.复选框 获取复选框选中状态 for (int i = 0; i < dataGridView1.RowCoun ...

  10. MySQL在command line Client下的一些命令

    MySQL在command line Client下的一些命令 通过CMD进入到本地数据库: mysql -h localhost -u -root -p 参数说明: -h 要连接的服务器的主机名或I ...