Struct結構 迴圈 01010 10101 01010 10101 01010 10101.

Slides:



Advertisements
Similar presentations
图说 毕业生档案 学生工作部 2016 年 5 月. 毕业生档案 毕业前 文字记载 书面材料 家庭情况政治思想 身体状况学习成绩 高校毕业前文字记载的书面材料 用人单位选拔、聘用毕业生的重 要人事依据 工作后人事档案的基础和雏形 什么是毕业生档案?
Advertisements

南宁市中小学生学籍信息化管理系统 用户培训手册
基本概論 Basic concepts.
南京市中等职业学校 2013级人才培养方案 编制说明.
电子成绩单项目实现.
教育部補助計畫經費動支應行注意事項 報告單位:主 計 室 104年10月.
农事学实践教程 主讲:XXXX 作物繁种技术.
資料結構與C++程式設計進階 資料結構概論 講師:林業峻 CSIE, NTU 6/ 7, 2010.
第二章 信息的获取 2.1 获取信息的过程与方法.
数据结构与算法 数据结构与算法实验
Chapter 3.0 C語言的結構與指標 資料結構導論 - C語言實作.
第九章 系 统 安 全 性 9.1 结构体 9.2 结构体型数组  9.3 结构体型指针 9.4 内存的动态分配 9.5 共用体
第7章 结构体、联合体和枚举类型 本章导读 本章主要知识点 《 C语言程序设计》 (Visual C++ 6.0环境)
C语言程序设计 第十二章 位运算.
高级语言程序设计 主讲人:陈玉华.
第一章 C语言概述.
C程序设计 第9章 自定义数据类型 主讲教师: 鲁 萍 西安建筑科技大学 理学院.
C 程式設計— 結構 台大資訊工程學系 資訊系統訓練班.
複習 char name1[20]; //長度為20的字串 char name2[20]; //讀取字串 gets(name1);
补充内容 结构体 概述 定义结构体类型和定义结构体变量 结构体变量的引用 结构体变量的初始化 指针与结构体 用typedef定义类型的别名.
编译原理与技术 类型检查 2018/11/21 《编译原理与技术》-类型检查.
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
Chap 9 结构 9.1 构建手机通讯录 9.2 结构变量 9.3 结构数组 9.4 结构指针.
第十一章 文件 文件概述 文件操作 文件操作实例 本章小结 作业: 练习:
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
STRUCTURE 授課:ANT 日期:2010/5/12.
C语言程序设计基础 第9章 结构 刘新国.
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
第九章 结构体和共用体 结构体的定义 结构体的使用 共用体的定义 共用体的使用 主讲:李祥 时间:2015年10月.
计算概论 第十八讲 C语言高级编程 结构与习题课 北京大学信息学院.
Function.
Chap 8 指针 8.1 寻找保险箱密码 8.2 角色互换 8.3 冒泡排序 8.4 电码加密 8.5 任意个整数求和*
C语言程序设计 李祥.
C 程式設計— 結構 台大資訊工程學系 資訊系統訓練班.
第十章 C高级程序应用—链表* 10.1链表的基本概念 10.2单向链表 10.3双向链表 10.4应用举例.
第7章 编译预处理 本章要求: 本章重点: 本章难点: 掌握用#define定义无参数宏和带有参数宏定义和调用方法;
第五章 指针 5.1 指针的概念和定义 5.2 指针运算 5.3 指针和数组 5.4 字符串指针 5.5 指针数组 5.6 指向指针的指针
第四章 C 语言中的输入和输出.
第13章 结构体的应用 13.1 了解由用户构造的数据类型 13.2 结构体类型说明及结构体变量 13.3 结构体数组
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
資料結構 第4章 堆疊.
Introduction to the C Programming Language
2.1 C语言的数据类型 2.2 常量与变量 2.3 变量赋初值 2.4 各类数值型数据间的混合运算 2.5 C语言的运算符和表达式
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第十章 用户自定义数据类型 目录 学生信息管理系统的开发 结构体数据类型的概述 结构体变量的使用 结构体数组
C语言概述 第一章.
教育部補助計畫經費動支應行注意事項 報告單位:主 計 室 107年11月6日.
本节内容 字节对齐.
指標
本教學投影片係屬教科書著作之延伸,亦受著作權法之保護。
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
项目1 C程序设计起步 学习目标: 通过该项目你可以知道: C语言的用途。 C语言的基本符号和关键字。 C语言程序的结构及特点。
第二章 类型、对象、运算符和表达式.
第二章 基本数据类型 ——数据的表示.
第九章 物件導向-進階.
第四章 C 语言中的输入和输出.
第 9 章 建構函式與解構函式.
第十二章 位运算.
2015年雪佛兰经销商7-8月夏季市场活动激励政策 执行手册及模板
Introduction to the C Programming Language
本节内容 结构体数组 视频提供:昆山爱达人信息技术有限公司.
C/C++基礎程式設計班 陣列 講師:林業峻 CSIE, NTU 3/14, 2015.
题目详细要求、参考资料及更新发布于: 第二周 链表与指针 题目详细要求、参考资料及更新发布于:
安排座位.
第十二章 C与C C转入C++时不需改变的内容 12.2 C转入C++的一些与类无关的 新特性
隨機函數.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

struct結構 迴圈 01010 10101 01010 10101 01010 10101

struct 結構 結合多個相關的變數在一個名稱下,可包含數個不同資料型態的變數 結構是一種使用者自定的型態,可將不同的資料型態串在一起 例如: 學生個人資料,有姓名(字串)、電話(長整數) 、年齡(整數)…等等

struct格式 struct 結構型態名稱{ 資料型態 變數名稱; } 變數名稱 ; struct PersonalData {     資料型態 變數名稱;  } 變數名稱 ; struct PersonalData { char name[14]; long tel; int age; char address[30]; } stu stu; stu.name stu.tel PersonalData name tel age address Kelly 0911555666 18 newtaipei,,,,,ROC

自訂資料結構名稱 欄位 變數名 變數.欄位 str.name=“張三”; 錯! strcpy(目的字串,來源字串) #include <stdio.h> #include <string.h> void main() { struct Studendata { char name[10]; int age; char address[50]; char interest[11]; } stu; strcpy(stu.name,"張三"); stu.age = 25; strcpy(stu.address, “新北市新莊區復興路1號"); strcpy(stu.interest, "basketball"); printf("The student's name is: %s\n", stu.name); printf("The student's age is: %d\n", stu.age); printf("The student's address is: %s\n", stu.address); printf("The student's interest is: %s\n", stu.interest); } 自訂資料結構名稱 欄位 變數名 變數.欄位 str.name=“張三”; 錯! strcpy(目的字串,來源字串)

進階用法

struct內包含其他struct struct Detail { int age; char *name; char *address; }; struct Data { int stuid; struct Detail detail; void main() { struct Data x; x.stuid = 100; x.detail.age = 20; x.detail.name = “Qoo she"; x.detail.address = "新北市新莊區復興路1號"; }

struct的運算符號 . struct list { int data; struct list *next; // a pointer to struct list };  struct list listOne, listTwo, listThree; listOne.next = &listTwo; listTwo.next = &listThree; (*(*listOne.next).next).data = 0; listOne.next.next.data = 0; 錯!!! . 的左邊必須是struct,不可以是pointer next前的 * 不可省,否則就遞迴定義, compiler無法決定struct list的大小 如何由listOne設定到listThree的data? xxxx22 ? ? xxxx33 ? next ? ? ? data xxxx11 xxxx22 xxxx33 listone listtwo listthree 運算元 結合順序 (   ) [   ] -> . 左到右 ! ~ ++ -- + - * & (type)  sizeof  右到左

struct的運算符號 -> struct裡有pointer to struct, 想用該pointer來存取結構成員時, 必須很小心用*和()來表達 結構成員包括指向結構的指標(define a pointer to struct in a struct), (*(*listOne.next).next).data語法既難寫又難懂 C語言定義 -> 運算符號 -> 的左邊是一個pointer to struct, 右邊則是該pointer指到的結構成員 ->為第一優先權 (*(*listOne.next).next).data = 0; listOne.next->next->data = 0; xxxx11 xxxx22 xxxx33 ? listone listtwo listthree next data 運算元 結合順序 (   ) [   ] -> . 左到右 ! ~ ++ -- + - * & (type)  sizeof  右到左