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