发布网友 发布时间:2022-03-01 01:12
共6个回答
热心网友 时间:2022-03-01 02:41
是的
实际上函数在内存中也要占据一片存储单元, 这片存储单元的起始地址, 我们称其为函数的入口地址, 即函数的指针, 函数的入口地址是用函数名来表示的。
因此我们可以定义一个指针变量, 让它的值等于函数的入口地址, 然后可以通过这个指针变量来调用函数, 该指针变量称为指向函数的指针变量 。
这里还有两个简单程序关于指针和数组的区别
①实参和形参都用指针变量
#include <stdio.h>
void inv3(int *x , int n);
void main( )
{ int *p , a[6]={1, 3, 4, 6, 7, 9};
p = a ;
inv3( p , 6 );
for( p=a ; p<a+6 ; p++ )
printf(“%3d”, *p );
printf(“\n”);
}
void inv3(int *x , int n)
{ int temp, m=(n-1)/2;
int *p , *i , *j ;
i=x ; j=x+n-1; p=x+m;
for( ; i<=p ; i++, j-- )
{ temp=*i ; *i=*j ;
*j=temp ; }
}
②实参用指针变量, 形参用数组名
#include <stdio.h>
void inv4(int x[ ] , int n);
void main( )
{ int *p, a[6]={1, 3, 4, 6, 7, 9};
p = a ;
inv4( p , 6 ) ;
for( p=a ; p<a+6 ; p++ )
printf(“%3d”, *p );
printf(“\n”);
}
void inv4(int x[ ] , int n)
{ int temp, i , j , m=(n-1)/2;
for( i=0 ; i<=m ; i++)
{ j=n-1-i ; temp=x[i] ;
x[i]=x[j] ; x[j]=temp; }
}
热心网友 时间:2022-03-01 03:59
省资源不是关键,用指针可以在函数内操作数据原存储单元而不是函数新开辟的内存热心网友 时间:2022-03-01 05:34
提高运行速度热心网友 时间:2022-03-01 07:25
指针的最大好处是:它非常灵活,功能强大!!它可以指向系统内存中的任何一个地址!这个功能是最棒的!尤其是编写系统程序的人员特别需要!例如:定义一个整型指针变量:int * point ; 然后你可以用 p=0x12345,即你可以指向机器的物理地址 0x 12345,然后你可以读取该地址的值。热心网友 时间:2022-03-01 09:33
1.指针概念:变量的地址(计算机内存字节的编号)叫做指针,存放变量地址的变量叫指针变量, 简言之,指针是用来存放地址的。热心网友 时间:2022-03-01 11:58
哎,你真悲哀呀