C语言中,指针函数和函数指针有什么区别?

Python017

C语言中,指针函数和函数指针有什么区别?,第1张

在C语言中指针函数函数指针是两个不同的概念,不能混淆。

指针函数本质上是函数,是一个返回类型为指针的函数,如:

int* max(int *array,int n)

{

//找最大值的地址

return 最大值的地址

}

max就是一个指针函数。

而函数指针本质上是指针,是指向函数的指针,如:

int (*funp)(int a,int b)

funp就是一个函数指针,可以用它指向一个返回类型为int、有两个int类型的参数的函数。

#include<stdio.h>

1.申明数组

a[5],下标是应该从0~4的

2.进行排序时需要用2个变量进行冒泡排序

3.scanf时%d后面不需要空格。

程序修改如下:

void

pa(int

*a,int

n)

{

int

i,j

int

t

for(i=0i<ni++)

for(j=0j<n-i-1j++)

if(*(a+j)>*(a+j+1))

{

t=*(a+j)

*(a+j)=*(a+j+1)

*(a+j+1)

=

t

}

}

void

main()

{

int

a[5],i

for(i=0i<5i++)

scanf("%d",&a[i])

printf("未排序前的数列为:\n")

for(i=0i<5i++)

printf("%d

",a[i])

pa(a,5)

printf("排序后的数列为:\n")

for(i=0i<5i++)

printf("%d

",a[i])

}