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

展示它们的区别的指针和数组的详细信息如下。

指针

指针是一个变量,用于存储另一个变量的地址。当将内存分配给变量时,指针指向该变量的内存地址。一元运算符(*)用于声明指针变量。

以下是指针声明的语法。

datatype *variable_name;

在这里,数据类型是变量的数据类型,例如int,char,float等。variable_name是用户给定的变量名称。

给出了一个演示指针的程序,如下所示。

示例

#include <stdio.h>
int main () {
   int a = 8;
   int *ptr;
   ptr = &a;
   printf("Value of variable a: %d\n", a);
   printf("Address of variable a: %d\n", ptr);
   return 0;
}

上面程序的输出如下。

Value of variable a: 8
Address of variable a: -2018153420

数组

数组是连续内存位置中相同类型元素的集合。数组中的最低地址对应于第一个元素,而最高地址对应于最后一个元素。数组索引以零开头,以数组大小减去一(数组大小-1)结束。

输出结果

以下是数组的语法。

type array_name[array_size ];

在这里,array_name是给数组的名称,而array_size是数组的大小。

演示数组的程序如下。

示例

#include <stdio.h>
int main () {
   int a[5];
   int i,j;
   for (i = 0;i<5;i++) {
      a[i] = i+100;
   }
   for (j = 0;j<5;j++) {
      printf("Element[%d] = %d\n", j, a[j] );
   }
   return 0;
}

输出结果

上面程序的输出如下。

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104