首页 > 文章列表 > 指针和数组在C语言中的区别

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

关键词提取: 区别(Difference) 数组(Array) 指针(pointer)
252 2023-08-31

关于指针和数组的细节展示了它们的区别,如下所示。

指针

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

以下是指针声明的语法。

datatype *variable_name;

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

下面给出一个演示指针的程序。

示例

 在线演示

#include <stdio.h>
int main () {
   int a = 8;
   int *ptr;
   ptr = &a;
   printf("Value of variable a: %d

", a);    printf("Address of variable a: %d

", ptr);    return 0; }

上述程序的输出结果如下。

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

数组

数组是位于连续内存位置的相同类型元素的集合。数组中的最低地址对应于第一个元素,而最高地址对应于最后一个元素。数组索引从零(0)开始,以数组大小减一(数组大小 - 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

", j, a[j] );    }    return 0; }

Output

上述程序的输出结果如下。

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