写一个使用数组、字符串的指针和指向数组、指向函数的指针变量并且含有结构体的C语言程序
时间: 2024-02-22 10:58:52 浏览: 104
好的,下面是一个示例程序,其中包含了数组、字符串的指针、指向数组的指针、指向函数的指针以及结构体:
```c
#include <stdio.h>
#define SIZE 5
// 定义一个结构体
struct Student {
char name[20];
int age;
};
// 定义一个函数,用于输出字符串
void printString(char* str) {
printf("%s\n", str);
}
// 定义一个函数,用于求和
int sum(int* arr, int len) {
int result = 0;
for (int i = 0; i < len; i++) {
result += arr[i];
}
return result;
}
int main() {
// 定义一个整型数组
int arr[SIZE] = {1, 2, 3, 4, 5};
// 定义一个指向整型数组的指针变量
int* arrPtr = arr;
// 定义一个字符串指针
char* strPtr = "Hello, world!";
// 定义一个指向函数的指针变量
void (*funcPtr)(char*) = &printString;
// 定义一个结构体变量
struct Student s = {"Tom", 20};
// 输出数组的元素和
printf("Sum of array: %d\n", sum(arr, SIZE));
// 输出数组的元素
for (int i = 0; i < SIZE; i++) {
printf("%d ", *(arrPtr + i));
}
printf("\n");
// 输出字符串
(*funcPtr)(strPtr);
// 输出结构体的成员
printf("Name: %s, Age: %d\n", s.name, s.age);
return 0;
}
```
这个程序包含了一个结构体,一个用于输出字符串的函数,一个用于求和的函数,以及一个主函数,其中定义了数组、字符串的指针、指向数组的指针、指向函数的指针等变量。在主函数中,我们使用了这些变量来完成不同的任务,例如输出数组元素和、输出字符串、输出结构体的成员等。
阅读全文