python 指针结构体取值_第三课(运算符、指针、结构体、文件)

前言

记录1.8学习内容及要点,主要内容:运算符、指针、结构体、文件

一、运算符

1ea9634a4ff7eac872ef8e47212aa40e.png

例:%(取余)取模

af09a2783716541b82df2fad2688da48.png

符号与左值一致

例:*= / +=

a *= b + c;// a = a*(b + c)

a += b + c;// a = a+(b + c)

例:前置++(先计算后赋值)/后置++(先赋值后计算)

698237adfb4d02de6a45961ad5e9acc3.png

二、指针

存储变量首地址的变量

52fbe3add3cecb4fe75adcf4548cf4d5.png

指针的大小

在32位操作系统中,指针大小都是 4字节

在64位操作系统中,指针大小都是 8字节

eceec92497fea12520a86a2b0e408b0c.png

三、结构体

按照开发者需求 自己创建的数据类型, 既结构体类型。

#include

struct Student {

char s_id[10];//学号偏移量0

char s_name[10];//姓名偏移量(0+10)=10

char s_sex[5];//性别偏移量(10+10)= 20

int s_age;//年龄偏移量(20+5)=25 + 3(成员的偏移量必须是自身大小的整数倍) = 28 +4(结构体大小 = 最后一个成员偏移量+自身大小) = 32

};

int main() {

//定义结构体变量,并初始化

struct Student stud = { "19020101" ,"mz","man", 21 };

//使用 . 访问结构体变量的成员

printf("id: %s \n",stud.s_id);

printf("name: %s \n", stud.s_name);

printf("sex: %s \n", stud.s_sex);

printf("age: %d \n", stud.s_age);

printf("size_stud: %d \n", sizeof(stud));//sizeof(stud) = 32

printf("size_student: %d \n", sizeof(Student));//sizeof(student) = 32

return 0;

}

计算结构体的大小时不是简单想加,要考虑地址对齐,例:例子(详)

四、文件

缓冲区(Buffer):

在程序执行时,所提供的一块存储空间(在内存中),可用来暂时存放做准备执行的数据。它的设置是为了提高存取效率,因为内存的存取速度比磁盘驱动器快得多。

14ebd7bfd35ac106d57db1159a118f9f.png

c语言提供的标准文件

8f0d11fe8525c887a9741dfbeb3d5738.png

#include

int main() {

fprintf(stdout, "Hello world");

return 0;

}

结果:

fe7348f5a99df2f518a250365b7b6163.png

原文链接:https://blog.csdn.net/qq_50999929/article/details/112333685

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值