小白学习C语言编程一定要知道的数组的这些总结,提高效率

C语言部落 2018-03-22 23:29:42

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来代表一个个单独的变量。数组中的特定元素可以通过索引访问。

所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。

数组

数组是一系列相同类型元素有序的集合。

数组的定义:

一般形式为:类型符 数组名 [常量表达式]如 int a[5]; 表示数组有五个元素,a[0]-a[5],不存在元素a[5]。

*注意: 1.常量表达式中可以包含常量和符号常量,如“int a[3+5];"

2.c语言不允许对数组的大小作动态定义。

数组的初始化:

通过查阅书籍,搜索资料,收集到如下初始化方式:

数组的大小和长度:

sizeof(数据类型)*元素个数

sizeof(数组名)

len=5时,便使用malloc函数分配20个字节,并强制转换成int类型的地址,malloc函数只返回第一个字节地址,通过+1操作获取后面的地址。

使用free(pArr)释放内存。

数组的地址:

1.a与&a

虽然a=&a,在值上看起来相等,也都表示数组的首地址,我们通过+1操作来了解它们的区别。

a:它的类型是int* 所以它+1的步长为数组元素大小的字节数,也就是4个字节,a+1就是a[1]的地址。

&a:它的类型数int *[10] 所以它+1的步长为数组大小的字节数,也就是40个字节,&a+1就是a[10]的地址(a[10]已经越界了)。

2.a[0]与&a[0]

a[0]:数组中的元素,值为0,a[0]+1=1。

&a[0]:数组首元素的地址,其值与a和&a相同,它的类型为int *,所以它+1的步长为数组元素大小的字节数,也就是4个字节,&a[0]+1就是a[1]的地址。

数组的使用方式

1.数组形式

2.指针形式

修改数组内容的汇编过程:

1.通过数组名找到首地址;

2.根据地址的偏移量,找到需要修改元素的地址

3.修改内容

几点学习建议:

1.基本概念很重要。无论学C,还是学C++,基本概念都是第一位的,也是比较困难的,但只有把握了基本概念才能把握整体脉络,才能居高临下。

2.C是C++的子集,它的基本概念和设计方法相对比较容易理解,初学者可从它入手。

3.如果要学好C++,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到VC,BCB下看看,你会轻松得很。在我看来,学好C/C++是成为VC,BCB高手的必由之路。

4.不要妄想速成,必须得一个byte,一个bit的去抠,尽量搞清楚每一个问题。

0 阅读:1
C语言部落

C语言部落

C语言C++技术分享,项目实战,学习方法,技术答疑