C语言指针:int *p = &i; 指针变量的定义和使用
是的,'int *p = &i;' 是一个合法的语句,可以这样写。
在这个语句中,'i' 是一个整型变量,'&i' 表示取 'i' 的地址,即获取 'i' 变量在内存中的位置。而 'int *p' 声明了一个指针变量 'p',它可以存储一个整型变量的地址。
通过将 '&i' 赋值给 'p',我们将 'p' 指向了 'i' 变量的地址。现在,通过 'p' 可以访问和操作 'i' 变量,就像直接使用 'i' 一样。
以下是一个示例,展示了 'int *p = &i;' 的使用:
#include <stdio.h>
int main() {
int i = 10; // 声明一个整型变量 i,并赋值为 10
int *p = &i; // 将 i 的地址赋值给指针变量 p
printf("i 的值为:%d\n", i);
printf("p 所指向的值为:%d\n", *p); // 通过解引用符号 *, 访问指针变量 p 所指向的值
*p = 20; // 通过指针变量 p 修改 i 的值
printf("i 的新值为:%d\n", i);
return 0;
}
在上面的示例中,我们首先声明了一个整型变量 'i',并将其赋值为 10。然后,我们声明了一个整型指针变量 'p',并将 '&i' 赋值给 'p',使其指向 'i' 的地址。通过解引用符号 '*p',我们可以访问 'p' 所指向的值,即 'i' 的值。在示例中,我们还通过 '*p = 20;' 修改了 'i' 的值为 20。
希望这个解释对你有帮助。如果你还有其他问题,请随时提问!
原文地址: https://www.cveoy.top/t/topic/bIY8 著作权归作者所有。请勿转载和采集!