指向结构体变量的指针 学习笔记

#include<stdio.h>
void main()
{
	struct stu_type{
		char num[15];
		char name[10];
		int age;
		int c;
		int math;
		int en;
		int sum;
		float ave;
	}stu1={"2011159113","张晓天",22,60,70,75},*p;
	p=&stu1;
	stu1.sum = stu1.c + stu1.math + stu1.en;
	stu1.ave = (float) stu1.sum /3;
	printf("学生学号\t姓名\t年龄\tC语言\t数学\t英语\t总分\t平均分\n");
	printf("%-16s%s\t%d\t%d\t%d\t%d\t%d\t%5.1f\n",stu1.num,stu1.name,stu1.age,stu1.c,stu1.math,stu1.en,stu1.sum,stu1.ave) ;
	printf("%-16s%s\t%d\t%d\t%d\t%d\t%d\t%5.1f\n",(*p).num,(*p).name,(*p).age,(*p).c,(*p).math,(*p).en,(*p).sum,(*p).ave) ;
	printf("%-16s%s\t%d\t%d\t%d\t%d\t%d\t%5.1f\n",p->num,p->name,p->age,p->c,p->math,p->en,p->sum,p->ave) ;
}
时间: 2024-07-29 08:33:20

指向结构体变量的指针 学习笔记的相关文章

指向结构体数组的指针 学习笔记

#include<stdio.h> void main() { struct stu_type{ char num[15]; char name[10]; int age; int c; int math; int en; int sum; float ave; }*p,stu[3]= {{"2011110101","张晓天",22,60,70,75}, {"2011110102","王小红",22,65,75,7

c语言:通过指向结构体变量的指针变量输出结构体变量中成员的信息

通过指向结构体变量的指针变量输出结构体变量中成员的信息. 解:程序: #include<stdio.h> #include<string.h> int main() { struct Student { long int num; char name[20]; char sex[10]; float score; }; struct Student stu_1;//定义struct Student类型的变量stu_1 struct Student *p; p = &stu_

指向结构体变量的指针作函数参数

 /********************* * 指向结构体变量的指针作函数参数 * ***********************/ #include<stdio.h> #include<string.h> struct student {  int num;  char name[20];  //char *name;    //若定义为指针则应与下面 stu.name = "jacob"; 配对使用,交叉使用则会报错                 //

指向结构体变量的指针变量

指向结构体变量的指针变量的定义形式与一般指针变量的定义形式相同,只是将其指向类型定义为结构体类型即可.例如: struct person { char name[20]; char sex; int age; float height; }; struct person *p; 则指针变量p,它可以指向struct person类型的结构体变量. 将一个指针变量指向一个结构体变量后,可以利用指向该结构体的的指针变量引用成员,如: (* 指针变量名).成员名 如(*p).age; 以上形式也常写成

C语言 指向结构体变量的指针

一个指向变量的指针表示的是占内存中起始位置 一个指向结构体的变量的指针表示的是这个结构体变量占内存中的起始位置,同样它也可以指向结构体变量数组 定义结构体变量的指针: //假设已有一个结构体名为Student struct Student *pStruct // 结构体类型 * 指针名; 通过指针来引用结构体中的成员,有三种方式 demo: 1 # include <stdio.h> 2 # include <stdlib.h> 3 /* 4 1.使用->引用结构体成员 5

用结构体变量和指向结构体变量的指针构成链表

测试描述:建立一个简单的静态链表,它由3个学生数据的结点组成.输出各结点中的数据. 代码如下: #include <iostream> using namespace std; struct Student { int num; float score; Student *next; }; int main() { Student a,b,c,*head,*p;//都是Student类型的结构体变量 a.num=1001;a.score=89.5; b.num=1002;b.score=90.

指向结构体变量的指针引用结构体变量的成员

#define _CRT_SECURE_NO_WARNINGS 1 #include<string> #include<iostream> using namespace std; struct Student { int num; string name; char sex; float score; }; int main() { Student stu; Student *p = &stu; stu.num = 10301; stu.name = "Wang

c++指向结构体变量指针

转自http://www.jb51.net/article/42140.htm 定义: 结构体变量的指针就是该变来那个所占据的内存段的起始地址.可以设一个指针变量,来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址. 设p是指向结构体变量的数组,则可以通过以下的方式,调用指向的那个结构体中的成员: (1)结构体变量.成员名.如,stu.num. (2)(*p).成员名.如,(*p).num. (3)p->成员名.如,p->num. 代码如下: #include<iostrea

指向结构体类型的指针强制转换为指向另外一种结构体类型。会不会出现问题?

结构体和int等类型一样,都是数据类型.其他类型怎么转换,结构体就怎么转换,没有什么特殊的地方. 楼主可能想知道的不是结构体怎样强制转换这个问题吧,猜测,楼主想知道如下几个问题: 如果将一个结构体强制类型转换为另一个结构体(或者类型),那这个结构体的成员会怎样了? 如果将一个结构体强制类型转换为另一个结构体(或者类型),那么这个结构体成员的数值又会是什么了? 解答: 1.结构体的本质是:我们和C语言约定了一段内存空间的长短,及其内容的安排.假设下面两个结构体: struct A1 { int a