数组基础知识

/*
 ============================================================================
 Name        : TestArray.c
 Author      : lf
 Version     :
 Copyright   : Your copyright notice
 Description : 数组的基本使用
 ============================================================================
 */

#include <stdio.h>
#include <stdlib.h>
int main(void) {
	getArraySizeAndSize();
	copyArray();
	testCharArray();
	return EXIT_SUCCESS;
}

/**
 * 获取数组所占内存的大小和数组的长度
 * 利用&array[i]和array+i取出每个元素的地址
 * array+i为什么可以取出每个元素的地址?
 * 因为array表示了首元素的地址,所以在其基础上+1
 * 表示了下一个元素,同理+i表示从首元素开始的第i个元素的地址
 *
 * 小结:
 * array[i]与*(array+i)等价
 * &array[i]与array+i等价
 */
void getArraySizeAndSize(void){
	int array[5]={0,1,2,3,4};
	//数组所占的内存大小
	int arraySize=sizeof(array);
	//数组的长度
	int arrayLength=sizeof(array)/sizeof(int);
	printf("Array allocated memory:%dByte,Array length:%d\n",arraySize,arrayLength);
	//遍历数组
	//取出数组的首地址
	printf("Array start address =%d\n",array);
	//遍历数组元素
	int i;
	for(i=0;i<arrayLength;i++){
		printf("array[%d]=%d,address is %d,%d\n",i,array[i],&array[i],array+i);
	}

}

/**
 * 数组是不能直接赋值的.
 * 因为数组名就是该数组首元素的地址
 */
void copyArray(){
	int a[2]={1,2};
	int b[2];
    //b=a;//错误的.
	//应该采用一个for循环不断初始化b数组中的元素
}

/**
 * 字符数组的注意事项:
 * 1 可以用printf("%s\n",charArray);的方式打印字符数组
 * 2 尤其注意字符数组最后一位应该是\0作为结束符
 * 3 可以用一个字符串直接对一个字符数组赋值.
 *   在这种方式时字符串的末尾会自动添加\0
 */
void testCharArray(){
	char charArray[5]={'h','f','a','b','\0'};
	printf("%s\n",charArray);

	//如果使用了""那么会在其末尾自动加上\0
	char charArray2[10]={"hello"};
	//可以简写为
	//char charArray2[10]="hello";
	printf("%s\n",charArray2);
}

时间: 2024-10-12 20:39:24

数组基础知识的相关文章

Json数组基础知识

1.对象是一个无序的"'名称/值'对"集合. (1)一个对象以"{"(左括号)开始,"}"(右括号)结束. (2)每个"名称"后跟一个":"(冒号): (3)"'名称/值' 对"之间使用","(逗号)分隔.(如图所示,图中表示数据的方式是类似非确定性自动机的形式,没学过编译原理的人,可能理解起来困难点,实际上也是正则表达式的形式.下同) 例子:表示人的一个对象: 1

PHP数组基础知识总结以及排序

最近刚刚实习,经常用到php的数组,所以总结一下,以后不用随时去乱搜. 一:基础知识 PHP支持数字索引数组和关联数组,关联数组允许使用更有意义的数据(如字符串)作为索引.以及允许间隔性地使用数组和字符串作为数组的索引. 1.数组定义: $arr = [1,2,3,4];//数字索引数组 php5.4以上提供的新方式 $arr = ['a'=>1,'b'=>2];//关联索引数组 $arr = array(1,2,3,4); $arr = array('a'=>1,'b'=>2);

java数组基础知识

数组的定义:int[] array=new array[n];int array[]={, , , ,};定义了数组,JVM就会给其一个空间,数组是应用类型的数据类型,其存储方式是随机存储. 数组的遍历,一般是通过循环来遍历其元素的,二维数组可以是通过霜或双重循环来遍历.数组的下标是从0开始的. 数组的替换,数组提供了一个方法,两种重载的形式,此方法为fill(),可以通过此方法来填充数组或者替换数组指定位置的元素. public class Array_Fill { public static

JavaScript数组基础知识

前言: 其实作为一个Java程序员,对JS程序一直都有点"不屑一顾"的感觉,很多人肯定和我一样,有其他语言基础,JS语法根本就懒得看,直接写程序,一般工作也都够用了.但是最近在做一个偏Web Excel项目,需要大量的JS编程和优化,抽空又"恶补"了下JS基础.发现原来对JS的理解偏差还是很大的.不过JS这个东西深入起来其实比Java要容易的. 基础: JS数组和Java数组很类似,值都是有序的,索引从0开始.但是JS数组最大可能的索引为2的32次最大能容纳4294

JAVA总裁--Java数组基础知识

1.数组的定义: 数组是由一组类型相同的数据元素构成的有序集合,每个数据元素称为一个数组元素(简称为元素),每个元素受n(n≥1)个线性关系的约束,每个元素在n个线性关系中的序号i1.i2.-.in称为该元素的下标,并称该数组为 n 维数组. 2.数组的特点: 元素本身可以具有某种结构,属于同一数据类型: 数组是一个具有固定格式和数量的数据集合. 3.数组的语法: package com.eduask.test; import java.util.Scanner; public class Ar

js数组基础知识链接

http://www.cnblogs.com/qiantuwuliang/archive/2011/01/08/1930499.html 小案例:   <script language="javascript" type="text/javascript"> var sum=0; var arr=[];//动态数组的创建 或 var arr=new Array(); for(var j=0;j<3;j++) { //prompt函数 输入文本框 !

C# 数组基础知识

数组的属性: 数组可以是一维.多维或交错的. 数值数组元素的默认值设置为零,而引用元素的默认值设置为 null. 交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null. 数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1. 数组元素可以是任何类型,包括数组类型. 数组类型是从抽象基类型 Array 派生的引用类型.由于此类型实现了 IEnumerable 和 IEnumerable,因此可以对 C# 中的所有数组使用 foreach 迭代. 我对数组的理解:在 C

PHP基础入门(四)---PHP数组实用基础知识

PHP数组 数组是特殊的变量,它可以同时保存一个以上的值. ***关键词:数组基础.数组遍历.超全局数组.数组功能.数组函数. 下面来和大家分享一下有关PHP的数组基础知识,希望对你PHP的学习有所帮助~ 一.PHP数组基础部分 一PHP数组的分类 按照下标的不同,PHP数组分为关联数组和索引数组:索引数组:下标从0开始,依次增长关联数组:下标为字符串格式,每个下标字符串与数组的值一一关联对应(类似对象的键值对) 代码演示: 1 $arr1 = array(1,2,3,4,5,6,7);//索引

JavaScript基础知识梳理--数组

JavaScript基础知识梳理--数组 1.创建方法 空数组:var obj=new Array(); 指定长度数组: var obj=new Array( size ); 指定元素数组 :  var obj=new Array( 元素1,元素2,....): 单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N]; 多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] ); 2.基本操作 存取数组元素: 单维数组