c语言,C语言二级指针
指针
Pascal指针很容易掌握。 使用指针可以更轻松地执行特定的Pascal编程任务。 此外,如果不使用指针,则无法执行其他任务,如动态内存分配。 因此,需要学习成为完美的Pascal程序员。 从简单简单的步骤中学习吧。
众所周知,每个变量都是内存位置,每个内存位置都定义了地址,可以使用指针变量的名称进行访问,以表示内存中的地址。
指针是什么?
指针是动态变量,其值是另一个变量的地址,即存储位置的直接地址。 与任何变量和常量一样,必须声明指针,然后使用它来存储任何变量地址。 指针变量声明的常见形式为:
类型
ptr-identifier=^ base-variable-type;
指针类型通过插入符号^ )的向上箭头前缀为基本类型来定义。 基本类型定义数据项的类型。 指针变量在某个类型中定义后,只能指向该类型的数据项。 定义指针类型后,可以使用var宣言声明指针变量。
var
p1,p2,ptr-identifier;
以下是有效的指针声明:
类型
Rptr=^real;
Cptr=^char;
Bptr=^ Boolean;
Aptr=^array[1.5] of real;
日期- ptr=^ date;
日期=record
Day: 1.31;
Month: 1.12;
Year: 1900.3000;
结束;
var
A、b : Rptr;
d :日期- ptr;
使用相同的插入记号^^取消引用指针变量。 例如,指针rptr引用的相关变量是rptr ^。 这个可以作为:去。
rptr ^:=234.56;
下面的示例介绍了这个概念:
程序ex pointers;
var
number: integer;
iptr: ^integer;
比根
number :=100;
Writeln(numberis: )、number );
iptr :=@number;
writeln (iptrpointstoavalue : )、iptr^ );
iptr^ :=200;
Writeln(numberis: )、number );
writeln (iptrpointstoavalue : )、iptr^ );
结尾。
编译并运行上述代码,将得到以下结果:
Number is: 100
iptr points to a value: 100
Number is: 200
iptr points to a value: 200
用Pascal打印内存地址
在Pascal中,可以使用地址运算符@ )将变量的地址分配给指针变量。 使用此指针操作和访问数据项。 但是,由于某种原因需要使用存储器地址本身时,需要将其保存在字型变量中。
扩展上述示例,使打印内存地址存储在指针iptr :中
程序ex pointers;
var
number: integer;
iptr: ^integer;
y: ^word;
比根
number :=100;
Writeln(numberis: )、number );
iptr :=@number;
writeln (iptrpointstoavalue : )、iptr^ );
iptr^ :=200;
Writeln(numberis: )、number );
writeln (iptrpointstoavalue : )、iptr^ );
y:=addr(iptr );
Writeln(y^;
结尾。
编译并运行上述代码,将得到以下结果:
Number is: 100
iptr points to a value: 100
Number is: 200
iptr points to a value: 200
45504
NIL指针
为指针变量分配NIL值时,这是一个没有分配准确地址的好习惯。 这是在变量声明时进行的。 指定为NIL的指针指向哪里? 请考虑以下程序:
程序ex pointers;
var
number: integer;
iptr: ^integer;
y: ^word;
比根
iptr :=nil
y:=addr(iptr );
writeln('thevauleofiptris ',y^ );
结尾。
编译并运行上述代码,将得到以下结果:
The value of ptr is 0
要检查nil指针,请使用if语句:如下所示
if(ptrnill ) then(*succeedsifpisnotnull* ) ) )。
if(ptr=nill ) then(*succeedsifpisnull* ) ) )。
Pascal指针详细信息
指针有很多简单的概念,它们对Pascal编程非常重要。有以下重要的指针概念,Pascal程序员应该很了解:
Sr.No
概念说明
1
Pascal -指针运算
指针:的增量、减量、-
2
Pascal -指针数组
可以定义数组并保存多个指针。
3
Pascal -指针指针
在Pascal中,可以将指针等放置在指针上。
4
在Pascal中传递指向子程序的指针
通过按引用或地址传递参数,可以在调用所传递的参数的子例程中调用子例程
5
返回指向Pascal子程序的指针
Pascal允许子程序返回指针。