C语言结构体和指针的使用
时间: 2023-06-21 18:04:41 浏览: 129
C语言的指针使用与结构体的使用
C语言中,结构体和指针都是非常重要的概念,结构体可以将多个不同类型的变量封装在一个结构体中,而指针则可以用来处理动态内存分配和函数参数的传递等一系列操作。
首先,让我们来看一下结构体的定义和使用。结构体定义的基本语法如下:
```
struct 结构体名 {
数据类型 成员1;
数据类型 成员2;
...
};
```
例如,下面是一个表示学生信息的结构体:
```
struct student {
char name[20];
int age;
float score;
};
```
定义了结构体之后,我们可以用结构体来定义变量,例如:
```
struct student stu1 = {"Tom", 18, 85.5};
```
这里定义了一个名为stu1的结构体变量,它的成员name为"Tom",age为18,score为85.5。
访问结构体的成员可以使用“.”运算符,例如:
```
printf("Name: %s\n", stu1.name);
printf("Age: %d\n", stu1.age);
printf("Score: %.2f\n", stu1.score);
```
这里使用了printf函数输出了结构体中的成员name、age和score。
接下来,让我们来看一下指针的使用。指针可以用来存储变量的地址,也可以用来访问动态分配的内存块。
定义指针变量时需要指定指针所指向的数据类型,例如:
```
int *p;
```
这里定义了一个名为p的int类型指针变量。指针变量可以用来存储变量的地址,例如:
```
int a = 10;
p = &a;
```
这里将变量a的地址赋值给了指针变量p。
指针变量可以使用“*”运算符来访问指针所指向的变量,例如:
```
printf("%d\n", *p);
```
这里输出了指针p所指向的变量a的值。
另外,指针也可以用来处理动态分配的内存块。动态分配内存时,可以使用malloc函数来分配内存块,例如:
```
int *p = (int *)malloc(sizeof(int));
```
这里分配了一个int类型的内存块,并将其地址赋值给指针变量p。
使用完动态分配的内存块后,需要使用free函数释放内存,例如:
```
free(p);
```
这里释放了指针p所指向的内存块。
以上就是C语言结构体和指针的基本使用方法。
阅读全文