C语言中指针赋值怎么赋值
时间: 2023-11-24 07:19:23 浏览: 96
在C语言中,可以通过使用赋值运算符“=”将一个指针赋值给另一个指针。例如,假设有两个指向int类型变量的指针变量p1和p2,可以使用以下语句将p2指向的变量的地址赋值给p1:
```c
int *p1;
int *p2;
p1 = p2;
```
这将使p1和p2指向同一个int类型变量。注意,指针变量本身也是有地址的,因此也可以将一个指针变量的地址赋值给另一个指针变量。例如:
```c
int *p1;
int **p2;
p2 = &p1;
```
这将使p2指向p1的地址,从而实现了指向指针的指针。
相关问题
c语言把数组赋值给指针
在C语言中,可以通过将数组名作为指针使用来把数组赋值给指针。例如:
```c
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 将数组名作为指针使用
```
以上代码中,`ptr`指向数组`arr`的第一个元素`1`,可以通过指针来访问数组中的元素。注意,数组名本身就代表数组的首地址,因此可以直接将数组名赋值给指针。
c语言结构体指针元素不能赋值,C语言结构体指针必须被结构体变量赋地址或malloc后才能正常使用,不能单独赋值?...
是的,你说得没错。在 C 语言中,结构体指针必须被结构体变量赋地址或者使用 malloc 分配内存后才能使用。结构体指针是一种特殊的指针类型,它指向结构体的首地址。如果你尝试直接给结构体指针赋值,编译器会报错,因为结构体指针本身是没有内存空间的。所以,为了使用结构体指针,必须先分配内存空间,然后将结构体指针指向该内存空间。
阅读全文