指针数组和数组指针指针函数和函数指针举个例子
指针数组和数组指针: 指针数组是一个数组,其元素都是指针类型。例如,int *arr[5]表示一个包含5个指向int类型的指针的数组。 数组指针是一个指针,它指向一个数组。例如,int (*ptr)[5]表示一个指向包含5个int类型元素的数组的指针。
指针函数和函数指针: 指针函数是一个返回指针的函数。例如,int *func()是一个返回指向int类型的指针的函数。 函数指针是一个指向函数的指针。例如,int (*ptr)()表示一个指向返回int类型的函数的指针。
举个例子:
- 指针数组的例子:
#include <stdio.h>
int main() {
int num1 = 10, num2 = 20, num3 = 30;
int *arr[3] = { &num1, &num2, &num3 };
for(int i = 0; i < 3; i++) {
printf("%d\n", *arr[i]);
}
return 0;
}
输出结果:
10
20
30
- 数组指针的例子:
#include <stdio.h>
int main() {
int nums[5] = {1, 2, 3, 4, 5};
int (*ptr)[5] = &nums;
for(int i = 0; i < 5; i++) {
printf("%d\n", (*ptr)[i]);
}
return 0;
}
输出结果:
1
2
3
4
5
- 指针函数的例子:
#include <stdio.h>
int* func() {
static int num = 10;
return #
}
int main() {
int *ptr = func();
printf("%d\n", *ptr);
return 0;
}
输出结果:
10
- 函数指针的例子:
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
int (*ptr)(int, int) = add;
int result = ptr(5, 10);
printf("%d\n", result);
return 0;
}
输出结果:
15
``
原文地址: https://www.cveoy.top/t/topic/iPag 著作权归作者所有。请勿转载和采集!