结构体变量的定义以及与结构体变量调用的两种方式

1.结构体变量的定义以及与结构体变量调用的两种方式

#include <stdio.h>
结构体变量的定义(3种)
直接定义
struct stu
{
	char name[20];
	int age;
	int height;
};
struct stu stu1;

直接初始化定义
struct stu
{
	char name[20];
	int age;
	int height;
};
struct stu stu1 = {"Tom",18,180};

使用typedefine定义(注意格式)
typedef struct
{
	char name[20];
	int age;
	int height;

} person;//一般把这个名字放到最后面
person person2;//此时person2就是一个结构体变量
结构体变量的引用是通过.操作符;



打印指针变量的地址
#include <stdio.h>
int main()
{
	int a = 20;
	int* p = &a;
	printf("%p\n", p);//以十六进制打印
	char ch = 'a';
	char* c1 = &ch;
	printf("%p\n", c1);
	double a2 = 3.14;
	double* p2 = &a2;
	printf("%p\n", p2);
	return 0;
}
*解引用操作符用法
#include <stdio.h>
int main()
{
	int a = 10;
	int* p = &a;
	*p = 20;
	printf("%d", a);//输出20

	return 0;
}


求指针变量的大小   sizeof(指针变量名)
#include <stdio.h>
int main()
{
	int a = 10;
	int* p1 = &a;
	printf("%zd\n", sizeof(p1));//64位机器指针变量大小为8字节,32位是4字节

	char ch = 'c';
	char* c1 = &ch;
	printf("%zd\n", sizeof(c1));

	return 0;
}

两种调用指针变量的方式
#include <stdio.h>
struct Stu//定义结构体变量(未初始化)
{
	char name[20];
	int age;
	float score;


};
void print1(struct Stu t)
{
	printf("%s %d %f", t.name, t.age, t.score);
}

void print2(struct Stu* t)
{
	printf("%s %d %f", (*t).name, (*t).age, (*t).score);
}

void print3(struct Stu* t)
{
	printf("%s %d %f", t->name, t->age, t->score);
}
int main()
{
	struct Stu t = { "mike",20,59.9};
	print1(t);//第一种调用方式  结构体变量.成员名称
	printf("\n");
	print2(&t);
	printf("\n");
	print3(&t);

	return 0;
}

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值