200804C阶段一变量生存期和结构体
目录
- 一、学习的知识点
- 作业
- 1、函数
- 函数间的数据传递
- 变量的生存期
- 内存中的存储区域包括
- 存储类别
- 2、结构体
- 结构体声明
- 结构体初始化
- 结构体赋值
- 二、上课没有听懂或者没有理解的地方
- 三、当天学习的收获
- 四、作业的思路、不会的地方
- 五、其他需要反馈的问题
- 六、心得体会
一、学习的知识点
作业
- 数组作为函数参数,他的书写格式有三种:char pstr[20]、char pstr[]、char *pstr
- 形参名可以省略:int fun(int,int)
1、函数
函数间的数据传递
- 参数传递:值传递、地址传递
- 返回值
- 全局变量:函数外定义,在整个工程中都可以使用,在不同的文件使用时,需要加extern
变量的生存期
静态存储方式:由系统分配固定的存储空间,全局变量就存在静态存储区
动态存储方式:存放以下数据:
- 函数的形参
- 自动变量(未加static声明)
- 函数调用时的现场保护和返回地址
内存中的存储区域包括
- 程序代码区:存放函数体的二进制代码
- 静态区/全局区:全局变量和静态变量的存储区域
- 堆区(heap):程序员分配释放
- 栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值
存储类别
存储类别是数据在内存中的存储形式,是变量的属性
使用语法:
存储类别 | 数据类型 | 变量名称 | // |
---|---|---|---|
auto | int | a; | 自动变量 |
static | int | b; | //静态 |
register | int | I; | //寄存器变量 |
extern | int | A; | //引入外部变量 |
在静态存储区分配存储单元,在编译时赋初值,而且只赋初值一次。如果没有赋初值,系统就会自动赋0或空字符。若函数中存在静态变量,调用函数时,该变量只会被初始化一次,再次调用时不会初始化。
2、结构体
结构体是一个数据类型,可以将不同类型的数据组合成一个整体。如:学生有学号、姓名、性别、年龄等
结构体声明
声明时,系统不会开空间,只有在定义变量时,才会开空间。结构体内的存储单元以结构体内占用空间最大的数据类型对齐、顺序对齐。结构体的类型不可以重复
struct student_1 //struct student_1是一个数据类型,相当于int、float
{char name[20];
int age;
}staff;//变量名为staff//typedef作用是重命名,struct student_1 重命名为 STAFF_T
typedef struct student_1 STAFF_T;
结构体初始化
与变量和数组一样,结构体变量也可以在声明时初始化struct employee { int no;char name [20];}stu={123,”abc”};struct employee { int no;char name [20];}stu={123};
结构体赋值
按声明的顺序赋值,可以部分元素初始化,剩余的元素为0。
STAFF_T staff={1001,“admin”}; //定义一个名为staff的结构体类型
//结构体数据成员(属性)的访问:变量名+点运算符+数据成员名
staff.name//结构体中字符串元素的修改
strcpy(staff1.name,"sxr")char *memcpy(char *dest,const char *source,int size); //内存拷贝,成功时返回dest,否则返回NULL
二、上课没有听懂或者没有理解的地方
无
三、当天学习的收获
学习了结构体这个新知识
四、作业的思路、不会的地方
还没看
五、其他需要反馈的问题
无
六、心得体会
一阶段开始学习的都是新知识了,课前要做好预习才能跟上。
200804C阶段一变量生存期和结构体相关推荐
- C++阶段01笔记08【结构体(基本概念、定义与使用、数组、指针、嵌套、const使用)】
C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 8 结构体 8.1 结构体基本概念 8.2 结构体定义和使用 示例 8.3 结构体数组 示例 8.4 结构体指针 示例 8.5 ...
- 结构体指针变量含义,结构体指针函数
最近在STM的GPIO结构体定义中看到源代码的时候,顺便复习下结构体指针变量的定义及typedef 的使用. 1.结构体类型定义 定义方式1: Typedef struct LNode { int d ...
- c语言 结构成员 变量引用,C++结构体变量的引用
在定义了结构体变量以后,当然可以引用这个变量,常用的方法有以下几种. 1) 可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量. 如上面的student1和student2都是student类 ...
- C代码开发遇到的问题 变量初始化和结构体指针移动
1. 变量初始化 函数内部的变量如果不初始化的话默认不是0而是一个随机值. 下面的程序用来打印一个未初始化的无符号的整型值,执行几遍,每次的结果都会不一样 #include <stdio.h&g ...
- python数组赋值给变量_python实现结构体数组(初始化并赋值)
C语言中结构体数组概念及定义 一个结构体变量可以存放一个学生的一组信息,可是如果有 10 个学生呢?难道要定义 10 个结构体变量吗?难道上面的程序要复制和粘贴 10 次吗? 很明显不可能,这时就要使 ...
- 结构体变量和指向结构体变量的指针
目录 概念 内存分配 对象的引用 结构体变量和结构体指针变量作形参的区别 以结构体变量和结构体指针变量形参的函数调用 概念 结构体变量是指将不同的数据类型整合成一个有机的整体,以便于调用. struc ...
- C++结构体变量的引用 | 结构体变量引用
C++结构体变量的初始化 C++对结构体变量可以在定义时指定初始值. struct Student{ //自定义结构体变量 int num;//学号 char sex;//性别 int age;//年 ...
- C++阶段01笔记汇总【C++软件安装、C++初识、数据类型、运算符、程序流程结构、数组、函数、指针、结构体】
C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 C++课程安排 1 C++初识 1.1 第一个C++程序 1.1.1 创建项目 1.1.2 创建文件 1.1.3 编写代码 1. ...
- c语言变量体,c语言之结构体变量的定义
结构体是一种数据类型(像int.char.flaot是数据类型一样),可以用它定义变量. 用结构体类型定义变量的方式有三种: 一.先定义结构体类型,再定义变量 一般形式:struct 结构体名 { 类 ...
最新文章
- 南通一酒店搞了个“虎景房”,这睡得着?
- You must install peer dependencies yourself
- ZooKeeper快速搭建
- TypeScript 发布 3.4 首个 RC 预览版
- 工作284:理解绑定逻辑
- 冰兮坊Java_java 中文字符 获取首字母(一级二级字符)
- 混迹职场,有交换意识的人都是聪明人
- 【转发】Git本地服务器搭建及使用详解
- c++ 数据类型转换: static_cast、dynamic_cast、reinterpret_cast和const_cast
- java设计模式工厂模式_Java中的桥梁设计模式
- 慕课网_《Netty入门之WebSocket初体验》学习总结
- 基于Python实现的DHT嗅探器
- Python -- 网络爬虫:爬取花瓣网站图片
- 鼎利5G测试软件不显示信息,鼎利软件应用 - 4G/5G - 通信人家园 - Powered by C114
- 云计算-平台架构-开源-OpenStack
- 【西祠日志】【19】【20】有人说,21天可以养一种习惯
- Roson的Qt之旅#71 Qt绘制星空和旋转的星球
- linux win im,IM即时通讯软件“喧喧”介绍:支持Windows、Linux、Mac系统
- 华为云14天鸿蒙设备开发培训Day3:快速入门
- Android实现mp3音频剪辑(带试听)
热门文章
- 局部内部类访问它所在方法中的局部变量必须是final
- 数据库的日常管理经验浅谈
- Firebug Lite——在没有调试工具的浏览器(如IE6-7)中调试
- linux命令:until循环
- React Native移动开发实战-4-Android平台的适配
- 由return联想到的
- 给缺少Python项目实战经验的人
- mysql 字符串分区_Mysql分区表的原理和优缺点
- mysql 有ntext_深入char、varchar、text和nchar、nvarchar、ntext的区别详解
- 基于Linux下嵌入式网关,基于嵌入式Linux系统的无线网络网关设计