c语言数组如何取地址
时间: 2024-06-13 17:00:33 浏览: 21
在C语言中,数组名也是数组首地址,也就是数组首元素地址。数组首地址也可以用第0个元素加&表示,数值a的首地址是&a。另外,可以使用指针来指向数组的首地址,有两种表达方式:
```c
int array[3] = {3, 4, 32};
int *p = &array[0]; // 第一种写法
int *p1 = array; // 第二种写法
```
其中,第一种写法使用`&array`来取数组的首地址,第二种写法直接使用数组名`array`来代表数组的首地址。两种写法都可以通过指针来访问数组的元素。
相关问题
c语言数组地址放入到变量中
在 C 语言中,数组名本身就代表了数组的首地址,可以直接将其赋值给一个指针变量。例如:
```c
int arr[5] = {1, 2, 3, 4, 5};
int *p = arr; // 将数组名 arr 赋值给指针变量 p,相当于 p = &arr[0]
```
这样,指针变量 p 就指向了数组的第一个元素,可以通过指针变量 p 访问数组中的元素。
如果要将数组的地址存储在一个普通变量中,可以使用取地址运算符 `&`,例如:
```c
int arr[5] = {1, 2, 3, 4, 5};
int *ptr;
ptr = &arr[0]; // 将数组的首地址赋值给指针变量 ptr
```
或者直接将数组名作为参数传递给函数,因为数组名本身就是数组的地址。例如:
```c
int arr[5] = {1, 2, 3, 4, 5};
void func(int *p) {
// ...
}
func(arr); // 将数组名 arr 作为参数传递给函数
```
C语言数组长度怎么算
C语言中,可以通过以下两种方式来计算数组的长度:
1. 使用sizeof运算符:可以使用sizeof运算符来计算数组的长度。sizeof运算符返回数组所占用的总字节数,然后将其除以单个元素的字节数,即可得到数组的长度。例如:
```c
int arr[] = {1, 2, 3, 4, 5};
int length = sizeof(arr) / sizeof(arr[0]);
printf("数组的长度为:%d\n", length); // 输出:5
```
2. 使用循环计数:可以使用循环来遍历数组,并在每次循环中计数,直到遍历完整个数组。例如:
```c
int arr[] = {1, 2, 3, 4, 5};
int length = 0;
for (int i = 0; arr[i] != '\0'; i++) {
length++;
}
printf("数组的长度为:%d\n", length); // 输出:5
```
这两种方法都可以用来计算C语言数组的长度,选择哪种方法取决于具体的需求和代码结构。