欢迎访问宙启技术站
智能推送

C言语指向数组元素的指针

发布时间:2023-05-18 16:16:02

在C语言中,数组是一种非常常见且方便的数据类型,它可以存储一组同类型的数据。同时,指针也是C语言中非常重要的概念,它可以让我们在程序中动态地分配内存、访问数组元素等等。那么本文主要介绍C语言中指向数组元素的指针。

一、定义指向数组元素的指针

首先,我们来看一下如何定义一个指向数组元素的指针。在C语言中,可以使用以下方式定义一个指向数组元素的指针:

int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};  // 定义一个包含10个元素的整型数组
int *p;  // 定义一个指向整型的指针

p = &arr[0];  // 将指针p指向数组      个元素

在上述代码中,我们首先定义了一个包含10个元素的整型数组arr,然后定义了一个指向整型的指针p,并且将它指向了arr数组的 个元素。

二、通过指针访问数组元素

有了指向数组元素的指针,我们就可以通过指针来访问数组元素。在C语言中,可以使用以下方式通过指针访问数组元素:

int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};  // 定义一个包含10个元素的整型数组
int *p;  // 定义一个指向整型的指针

p = &arr[0];  // 将指针p指向数组      个元素

printf("%d
", *p);  // 通过指针p访问数组      个元素
printf("%d
", *(p+1));  // 通过指针p访问数组第二个元素
printf("%d
", *(p+2));  // 通过指针p访问数组第三个元素

在上述代码中,我们通过指针p访问了数组arr的 个、第二个和第三个元素,可以发现,通过指针访问数组元素的方式是用指针首先指向数组的 个元素,然后通过指针加上偏移量来访问其它元素。

三、利用指针改变数组元素的值

除了可以通过指针访问数组元素以外,我们还可以通过指针改变数组元素的值。在C语言中,可以使用以下方式通过指针改变数组元素的值:

int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};  // 定义一个包含10个元素的整型数组
int *p;  // 定义一个指向整型的指针

p = &arr[0];  // 将指针p指向数组      个元素

*p = 100;  // 改变数组      个元素的值为100
*(p+1) = 200;  // 改变数组第二个元素的值为200
*(p+2) = 300;  // 改变数组第三个元素的值为300

for(int i = 0; i < 10; i++) {
    printf("%d ", *(p+i));  // 输出整个数组的元素
}

在上述代码中,我们通过指针p改变了数组arr的前三个元素的值,并且最后输出了整个数组的元素,可以发现,数组的元素已经被成功地改变。

四、指针数组

除了可以定义一个指向数组元素的指针以外,我们还可以定义一个数组,这个数组的元素都是指向某个类型的指针。这就是所谓的指针数组。在C语言中,可以使用以下方式定义一个指针数组:

int a = 10, b = 20, c = 30;
int *arr[] = {&a, &b, &c};  // 定义一个指针数组,其中元素都是指向整型的指针

for(int i = 0; i < 3; i++) {
    printf("%d ", *arr[i]);  // 输出指针数组的元素
}

在上述代码中,我们定义了一个包含三个指向整型的指针的指针数组arr,它的元素都分别指向了变量a、b和c。最后,我们输出了指针数组的每一个元素。

结语

本文主要介绍了C语言中指向数组元素的指针的概念及使用方法,同时还简单介绍了指针数组。指向数组元素的指针在C语言中是非常常用的,大家需要认真学习并掌握。