C语言中的数组和指针之间的区别。

C语言中的数组用于存储相同类型的元素,而指针是地址变量,其存储变量的地址。现在,数组变量还具有一个可以由指针指向的地址,并且可以使用指针进行导航。r将指针用于数组的好处有两方面,首先,我们将动态分配的数组的地址存储到指针中,其次,将数组传递给函数。以下是使用数组和使用指向数组的指针的区别。

  • sizeof()运算符在数组的情况下打印数组的大小,在指针的情况下,打印int的大小。

  • 分配数组变量不能被分配另一个变量的地址,但是指针可以接受它。

  • 第一个值第一个索引值与指针的值相同。例如,array [0] == * p。

  • 迭代数组元素可以使用[]使用索引进行导航,指针可以通过使用指针算术来访问数组元素。例如,array [2] == *(p + 2)

范例(C)

#include <stdio.h>

void printElement(char* q, int index){

   printf("Element at index(%d) is: %c\n", index, *(q+index));

}

int main() {

   char arr[] = {'A', 'B', 'C'};

   char* p = arr;

   printf("Size of arr[]: %d\n", sizeof(arr));

   printf("Size of p: %d\n", sizeof(p));

   printf("First element using arr is: %c\n", arr[0]);

   printf("First element using p is: %c\n", *p);

   printf("Second element using arr is: %c\n", arr[1]);

   printf("Second element using p is: %c\n", *(p+1));

   printElement(p, 2);

   return 0;

}

输出结果

Size of arr[]: 3

Size of p: 8

First element using arr is: A

First element using p is: A

Second element using arr is: B

Second element using p is: B

Element at index(2) is: C

以上是 C语言中的数组和指针之间的区别。 的全部内容, 来源链接: utcz.com/z/338307.html

回到顶部