c语言取数组地址,c语言 数组取地址

kodinid 36 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言数组地址问题,于是小编就整理了3个相关介绍c语言取数组地址的解答,让我们一起看看吧。

  1. c语言如何取数组元素个数?
  2. c语言中怎样取字符串的地址?
  3. C语言的数组元素地址计算?

c语言如何取数组元素个数

1.定义一个int类型变量len,用于存储数组元素的个数。

2. 定义一个数组,并初始化数组。

c语言取数组地址,c语言 数组取地址-第1张图片-安济编程网
图片来源网络,侵删)

3.然后用sizeof(days)/sizeof(days[0])获得数组的元素个数,sizeof(days)是获得整个数组的大小,sizeof(days[0])是获得第一个数组元素的大小。

4.用printf函数结果输出

一个较为便捷的办法是,调用sizeof()函数,与数组的数据类型无关,如数组名为Array,元素个数等于 sizeof(Array) / sizeof (Array[0])。

c语言取数组地址,c语言 数组取地址-第2张图片-安济编程网
(图片来源网络,侵删)

用sizeof就可以了。

比如结构体是struct test,

定义struct test a[100];

c语言取数组地址,c语言 数组取地址-第3张图片-安济编程网
(图片来源网络,侵删)

要得到这个100的话就用:

sizeof(a)/sizeof(struct test);

在c语言中,可以使用sizeof()函数来取数组元素个数,格式如下:

sizeof(array)/sizeof(array[0])

其中,sizeof(array)表示整个数组占用的内存字节数,sizeof(array[0])表示数组中一个元素占用的内存字节数。两者相除即可得到数组元素个数。

示例代码

```c

#include <stdio.h>

c语言中怎样取字符串的地址?

字符串是一连串地址连续的内存空间,每个地址对应字符串元素的地址。

我们一般说的字符串的地址,就是指字符串首元素的地址。

比如:char

str[10];这样的数组。它的地址就是其str[0]的地址。

所以可以表示为str,或者&str[0]。

说取其他元素的地址,&str[对应下标]就可以了。

因为地址连续,定义指针接收,还可以通过指针加减获取对应元素地址。

比如char

*p=&str[2];(我们让指针指向第3个元素地址),那么p++;p就是指向了第4个元素地址。同理p--;就指向第2个元素地址。

注意,数组名str,可以表示数组首地址,但其本身是常量指针,不能赋值

C语言的数组元素地址计算

要看数组的类型 比如int型,以一个int型数据4个字节,内存的起始地址为1000来说 int a[5]的内存地址: a[0] 1000 a[1] 1004 a[2] 1008 a[3] 1012 a[4] 1016 int a[2][3]的内存地址: a[0][0] 1000 a[0][1] 1004 a[0][2] 1008 a[1][0] 1012 a[1][1] 1016 a[1][2] 1020 int a[2][2][3] a[0][0][0] 1000 a[0][0][1] 1004 a[0][0][2] 1008 a[0][1][0] 1012 a[0][1][1] 1016 a[0][1][2] 1020 a[1][0][0] *** a[1][0][1] 1028 a[1][0][2] 1032 a[1][1][0] 1036 a[1][1][1] 1040 a[1][1][2] 1044 找找规律就懂了

到此,以上就是小编对于c语言取数组地址的问题就介绍到这了,希望介绍关于c语言取数组地址的3点解答对大家有用。

标签: 数组 地址 元素