让我们深入了解 C 语言中指针的创建、解除引用以及指针与数组之间的关系。
在 C 语言中,可以使用 * 符号声明指针变量,并将指针变量初始化为某个变量的地址。
*
#include <stdio.h> int main() { int num = 10; int *ptr; // 声明指针变量 ptr = # // 将指针变量初始化为 num 的地址 printf("Address of num: %p\n", &num); printf("Value of ptr: %p\n", ptr); // 输出指针变量的值,即 num 的地址 return 0; }
解除引用操作使用 * 符号,用于访问指针所指向的内存地址上存储的值。
#include <stdio.h> int main() { int num = 10; int *ptr = # // 声明指针变量并初始化为 num 的地址 printf("Value of num: %d\n", num); printf("Value at address stored in ptr: %d\n", *ptr); // 解除引用并输出指针所指向地址的值 return 0; }
在 C 语言中,数组名本身就是一个指针,它指向数组的第一个元素的地址。
#include <stdio.h> int main() { int arr[] = {1, 2, 3, 4, 5}; int *ptr = arr; // 将数组名赋值给指针变量 printf("Value of arr[0]: %d\n", arr[0]); printf("Value of *ptr: %d\n", *ptr); // 输出数组的第一个元素的值 return 0; }
在上面的例子中,arr 是一个数组名,它指向数组的第一个元素的地址,因此 *ptr 和 arr[0] 的值相同。
arr
*ptr
arr[0]
以上是关于 C 语言指针的完全指南,包括创建指针、解除引用以及指针与数组之间的关系。熟练掌握指针操作将使你能够编写更灵活和高效的 C 语言程序。
原文链接:codingdict.net