[ASM C/C++] C语言数组
固定长度的数组:
可以具有任何的存储类别。
长度可变的数组:
只能具有自动的生存周期(定义于语句块内,眀没有static修饰符)。
名字必须为一般的标识符,因此结构或联合的成员不能是数组的标识符。
读写数组数据可按索引和指针两种方法。
#include <stdio.h> int a[]; //具有外部链接
static int b[]; //具有静态的生存周期和作用域 void parray(int count, int arr[])
{
//索引访问
for(int i=; i<count; i++)
{
printf("the %d is: %d \n", i, arr[i]);
} //指针访问
for(int *p = arr; p < arr + count; ++p)
{
printf("p the value is: %d \n", *p);
}
} int main(int argc, char *argv[])
{
static int c[]; //静态生存周期和语句块作用域
//int d[10]; //具有自的生存周期和语句块作用域 int vla[*argc]; //自动生存周期,长度可变的数组
//error: variable length array declaration can not have 'static' storage duration
//static int e[n]; //精态生存周期,不能为长度可变数组
//error: fields must have a constant size: 'variable length array in structure' extension will never be supported
//struct S { int f[n] }; //小标签不能为长变可变数组名
struct S { int f[]; }; //小标签不能为长变可变数组名
//多维数组
extern int a2d[][];
//int a3d[2][2][3] = {{{110,111,112},{120,121,122}},{{210,211,212},{220,221,222}}};
//int a3d[][2][3] = {{{1},{4}},{{7,8}}};
//int a3d[2][2][3] = {{1,0,0,4}, {7,8}};
//int a3d[2][2][3] = {1, [0][1][0]=4, [1][0][0]=7,8};
int a3d[][][] = {{}, [][]=, [][]={,}}; //初始化
//int d[] = {1,2,3};
//d[0] = 1, d[1]=2, d[2]=3;
int d[] = {,,,[]=}; //初始化特定元素
parray(, d); return ;
}
[ASM C/C++] C语言数组的更多相关文章
- GO语言数组和切片实例详解
本文实例讲述了GO语言数组和切片的用法.分享给大家供大家参考.具体分析如下: 一.数组 与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列. (1)数组的创建. 数组有3种创建方式: ...
- C语言 数组 列优先 实现
C语言数组结构列优先顺序存储的实现 (GCC编译). 从行优先转换为列优先存储方式, 与行优先相比, 不同之处在于改变了数组维界基址的先后顺序, 从而改变了映像函数常量基址. /** * @brief ...
- C语言 数组 行优先 实现
C语言数组结构行优先顺序存储的实现 (GCC编译). /** * @brief C语言 数组 行优先 实现 * @author wid * @date 2013-11-02 * * @note 若代码 ...
- 不可或缺 Windows Native (5) - C 语言: 数组
[源码下载] 不可或缺 Windows Native (5) - C 语言: 数组 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 数组 示例cArray.h #ifn ...
- C语言数组
在C语言中,对于三维或三维以上数组的使用并没有很好的支持,而且使用率也非常的低,后面会对三维数组做一些简单的分析,这篇文章主要以二维数组来探讨一些C语言中数组使用的相关概念和技巧. 1 一个var[i ...
- C语言数组:C语言数组定义、二维数组、动态数组、字符串数组
1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include &l ...
- Go语言数组的使用
Go 语言数组 Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0 ...
- Go 语言数组
Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0, number ...
- C语言 > 数组和指针
C语言 数组和指针 const: 关于指针和const需要注意一些规则.首先,把const数据或非const数据的地址初始化为指向const的指针或为其赋值是合法的. 然而,只能把非const数据的地 ...
随机推荐
- Theos 工程
一.tweak 工程 1.创建步骤 a) terminal cd 到想要存放项目的目录下 b) 按图步骤完成即可 二.工程文件描述 1.control 记录 deb 包管理系统所需的基本信息. 2.a ...
- Android高级之十二讲之如何降低应用内存消耗
安卓应用的内存往往是有限的,从开始的8M到16M,24M,32M,48M,64M等逐步变大,但内存的变大是由于分辨率的提高导致,并不意味着可以随意声明使用内存,而不及时回收(即使Java有自己的垃圾回 ...
- 【原】使用Xfermode正确的绘制出遮罩效果
以前写as3的时候,遮罩效果一个mask属性就搞定了,真是方便. 转到android上以后,发现要实现类似的效果,可以使用Xfermode,android一共提供了三种: AvoidXfermode; ...
- 在Centos6下面安装Python3.4
yum源里头好像没有python3.4 在Python的官网下载Python3.4的源代码 然后: 安装依赖包: yum groupinstall "Development tools&qu ...
- rbd cache (一)
cache 1.why The existence of cache is based on a mismatch between the performance characteristics of ...
- nvm诡异的报错
安装:curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash wget -qO- htt ...
- ubifs概述
UBIFS无排序区块图像文件系统(Unsorted Block Image File System, UBIFS)是用于固态存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件系统之一.真正开 ...
- Android--我的Butterknife黄油刀怎么找不到控件了!!!
1,首先说一下Butterknife这个插件真的挺好用的,不过最近几天在写demo的时候发现总是出现绑定的view是空的,当时着急写代码,也没有深究一下,直接手工findViewbyid了,今天下午写 ...
- Nodejs express 文件上传
文件上传 以下我们创建一个用于上传文件的表单,使用 POST 方法,表单 enctype 属性设置为 multipart/form-data. index.htm 文件代码修改如下: <html ...
- 1.多线程-NSThread
1.在主线程执行多次NSLog模拟耗时操作 结果,卡住主线程 解决方案: performSelectorInBackground让程序在后台执行 2.pthread的使用 开辟子线程,执行一个函数 ...