当前位置:首页 > 内存 > 正文

数组在内存中占一段连续的储存区

  • 内存
  • 2024-06-05 13:38:01
  • 6067

一、指针p指向数组a[20]即p=&a,*(++p)即为a[1]这是“a[0]的地址加1数组a[20]在内存中开辟了20个连续的20个空格,这20个空格的地址是连续的。因此,可以方便地选择地址指针。


二、C语言中,数组在内存中占一片连续的存储区,由什么来代替它的首地址?

在C语言中,数组名代表数组的起始地址。

整个数组是从第一个地址开始的连续内存块。字符数组char[10](如果存在)。假设数组c的首地址是2000,也就是说类c[0]的地址是2000。那么数组名c就代表这个起始地址。

所以地址运算符and不能加在c之前。例如,写scanf("%s",&c)是错误的。执行printf("%s")函数时,根据数组名c找到首地址,将数组中的每个字符逐个输出,直到遇到字符串结束标志'\0'。

扩展信息:

数组表示方法:

数组元素被组织成数组。基础班。数组元素也是变量,由数组名称和下标标识。下标表示数组中元素的序号。

通用数组元素:ArrayName为[下标],下标可以是整型常量,也可以只是整型表达式。如果它是十进制,C编译器会自动采用它。

例如,a[5]、a[i+j]、a[i++]都是合法数组的元素。数组元素通常称为下标变量。必须先定义数组,然后才能使用注册变量。在C语言中,下标变量一次只能使用一个,并且不能一次引用整个数组。

参考来源:-数组