数组基础知识

/*
 ============================================================================
 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-09-30 18:01:15

数组基础知识的相关文章

Java中的数组基础知识学习教程_java

数字 通常情况下,当我们处理数字时,使用原始数据类型,如 byte,int,long,double 等. 示例 int i = 5000; float gpa = 13.65; byte mask = 0xaf; 然而,在开发中,我们会遇到需要使用对象而不是原始数据类型的情况.为了实现这个, Java 为每个原始数据类型提供包装类. 所有的包装类 (Integer, Long, Byte, Double, Float, Short) 是抽象类 Number 的子类. 这种包装是由编译器处理,这个

js数组基础知识之函数声明 元素操作

数组的构造函数 由于数组的构造函数在处理参数时的不确定性,因此强烈建议使用 [] 符号来创建一个新数组.  代码如下 复制代码 [1, 2, 3]; // Result: [1, 2, 3] new Array(1, 2, 3); // Result: [1, 2, 3] [3]; // Result: [3] new Array(3); // Result: [] new Array('3') // Result: ['3'] 当只有一个参数被传递到数组的构造函数中,并且这个参数还是一个数字时

PHP 数组基础知识小结_php基础

php函数有很多,需要时查询api. 复制代码 代码如下: <?php /* #数组 没有限制大小:$arr[0]=1;$arr[1]=2; $arr=array("0","1");$list($num1,$num2)=$arr; array range(int low,int high[,int step]) low最小数,high最高数,step步长 int array_unshift(array array,mixed vari) 数组前面插入 arra

[C++ 面试基础知识总结]字符串,向量和数组

[C++ 面试基础知识总结]字符串,向量和数组 参考书籍:<C++ Primer> 目录 C 面试基础知识总结字符串向量和数组 目录 string string的读写 stringsize_type类型 string对象和字面值相加 vector容器 vector的初始化 使用vector的注意事项 迭代器 迭代器运算符 使用迭代器实现二分查找 数组 初始化和赋值 字符数组 数组与指针 C风格字符串 多维数组中的指针 string string的读写 #include <iostream

Javascript数组Array基础介绍_基础知识

Javascript,一门神奇的语言,它的数组也同样独特.我们要去其糟粕,取其精华,把常用的最优实践总结出来.如有错误,请指出. javascript数组是一种类数组的对象,拥有对象的特性.当属性名是小而连续的整数时,应该使用数组,否则,使用对象. 数组来源 所有的数组都是Array构造出来的,我们来测试一下constructor这个属性. var arr = []; arr.constructor === Array; // true arr.constructor === Array.pro

在JavaScript中操作数组之map()方法的使用_基础知识

 JavaScript 数组map()方法创建一个新的数组使用调用此数组中的每个元素上所提供的函数的结果.语法 array.map(callback[, thisObject]); 下面是参数的详细信息:     callback : 从当前的元素函数产生新的数组的元素.     thisObject : 对象作为该执行回调时使用 返回值: 返回创建数组兼容性: 这种方法是一个JavaScript扩展到ECMA-262标准;因此它可能不存在在标准的其他实现.为了使它工作,你需要添加下面的脚本代码

在JavaScript中处理数组之reverse()方法的使用_基础知识

 JavaScript数组reverse()方法反转数组元素.第一个数组元素成为最后一个元素,最后一个元素成为第一个元素.语法 array.reverse(); 下面是参数的详细信息:     NA 返回值: 返回数组的反转单一值.例子: <html> <head> <title>JavaScript Array reverse Method</title> </head> <body> <script type="t

在Javascript中处理数组之toSource()方法的使用_基础知识

 JavaScript数组 toSource()方法返回表示数组的源代码的字符串.这种方法是通过Mozilla来支持.语法 array.toSource(); 下面是参数的详细信息:     NA 返回值: 返回表示该数组的源代码的字符串.例子: <html> <head> <title>JavaScript Array toSource Method</title> </head> <body> <script type=&q

js常用数组操作方法简明总结_基础知识

//javascript 中的数组分割 var colors = ["red","green","blue"]; //alert(colors.toString()); alert(colors.join("|")); //返回结果是red|green|blue var colors = ["red","green","blue",null]; alert(color