4月3号学习

        今天简单的的学习了一下指针还有结构体

        首先是指针,电脑的内存是分开一个一个的地址的,一个地址的大小是一个字节(byte),所以之前学的各种类型的变量占用几个字节就是占用几个地址,比如int类型在内存中分配的空间就是四个字节,打印地址的符号是%p。

        后面计算各种指针类型的大小,结果是一样的全是8,因为我用的是64位系统,假如用的是32位系统的话,计算出来的结果就是4。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
	int a = 0;//a在内存中分配的空间是4个字节
	printf("%p\n", &a);//%p专门用来打印地址的
	int* pa = &a;//pa是用来存放指针地址的,在C语言中pa被称为指针变量
	//*说明pa是指针变量
	//int 说明pa执行的对象是int类型
	char ch = 'w';
	char* pc = &ch;
	printf("%p\n", &ch);
	*pa = 20;//*是解引操作    *pa就是通过pa里面的地址找到a
	printf("%d\n", a);
	printf("%d\n", sizeof(char*));
	printf("%d\n", sizeof(short*));
	printf("%d\n", sizeof(int*));
	printf("%d\n", sizeof(long*));
	printf("%d\n", sizeof(long long*));
	printf("%d\n", sizeof(float*));
	printf("%d\n", sizeof(double*));
	return 0;
}

        然后是结构体,结构体一般用来描述比较复杂的事物。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//结构体
struct stu
{
	char name[20];
	int age;
	double score;
};
int main()
{//三种打印方法
	struct stu s = { "陈林旗",19,90 };
	printf("1: %s %d %lf\n", s.name, s.age, s.score);
	struct stu* ps = &s;
	printf("2: %s %d %lf\n", (*ps).name, (*ps).age, (*ps).score);
	printf("3: %s %d %lf\n", ps->name, ps->age, ps->score);
	return 0;
}

        最后希望疫情早日结束啊

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值