一篇满足指针:(1)通过实验进一步掌握指针的概念,会定义和使用指针变量。 (2)能正确使用数组、字符串的指针和指向数组、指向函数的指针变量。 (3)了解指向指针的概念及其使用方法。 结构体:(1)掌握结构体类型的定义、成员的引用方法。(2)学习枚举变量的使用方法。的C语言程序
时间: 2024-02-22 17:59:15 浏览: 63
以下是一段满足您要求的C语言程序,它包含了指针和结构体的相关内容:
```
#include <stdio.h>
// 声明结构体类型
struct Student {
int id;
char name[20];
float score;
};
// 声明函数
void printArray(int *arr, int len);
void printString(char *str);
void printStudent(struct Student *s);
void swap(int *a, int *b);
int main() {
// 指针的定义和使用
int a = 10;
int *p = &a;
printf("a = %d, *p = %d\n", a, *p);
// 数组指针和指向数组的指针变量
int arr[] = {1, 2, 3, 4, 5};
int *pArr = arr;
printArray(pArr, 5);
// 字符串指针
char str[] = "hello, world";
char *pStr = str;
printString(pStr);
// 指向结构体的指针变量
struct Student stu = {1, "Tom", 90.5};
struct Student *pStu = &stu;
printStudent(pStu);
// 指向函数的指针变量
int x = 10, y = 20;
void (*pFunc)(int *, int *) = swap;
pFunc(&x, &y);
printf("After swap: x = %d, y = %d\n", x, y);
// 枚举变量的使用
enum Color { RED, GREEN, BLUE };
enum Color color = GREEN;
printf("color = %d\n", color);
return 0;
}
// 定义函数
void printArray(int *arr, int len) {
for (int i = 0; i < len; i++) {
printf("%d ", *(arr + i));
}
printf("\n");
}
void printString(char *str) {
while (*str != '\0') {
printf("%c", *str);
str++;
}
printf("\n");
}
void printStudent(struct Student *s) {
printf("id: %d, name: %s, score: %f\n", s->id, s->name, s->score);
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
这段程序包含了指针和结构体的多个使用方法,通过运行程序,您可以进一步掌握相关概念。
阅读全文