博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结构和其他数据形式
阅读量:5324 次
发布时间:2019-06-14

本文共 1342 字,大约阅读时间需要 4 分钟。

结构体中关键词struct表示接下来的是一个结构

struct book{

...

}library;等同于struct book library;

初始化结构:struct book library = {
"the ...",
"dddd"
};

 

struct book gif = {

.value = 98.3,

3.4 //紧跟着value

};

数组是自动存储类,通常放在堆栈中。太大是把它变为静态的或外部的

 

#include<math.h>

double dummy = sin(0.0)
编译器装载浮点数版本scanf()

 

struct book library[5]; //声明结构数组

scanf()会把'\n'留在缓冲区,可用下面修正:
while(getchar!='\n')
continue;
struct guy fellow={
{
...

}

...

};

嵌套的初始化

 

指向结构的指针 struct guy * him;

一个结构的名字不是该结构的地址 him = &fellow[0]; 必须用&符号

指针用-> ,结构用.

结构作为参数时,会创建一个副本

允许将一个结构复制给另一个结构,(同一类型)

 

在结构中使用字符指针要给它分配存储区

 

复合文字: (struct book){...};

 

 

伸缩性数组成员:
struct flex
{
int count;
double average;
double scores[];

};

...

int n ;
struct flex *pf,*pf2;

n = 4;

pf = malloc(sizeof(struct flex) + n * sizeof(double));
p->count = n;

n = 7;
pf2 = malloc(sizeof(struct flex) + n * sizeof(double));
p->count = n;

...

 

 

 

把结构内容保存到文件中:

fprintf(book,"%s %s",primer.title,primer.author);指定%39s格式有利于字段结束和开始的位置

fwrite(&primer,sizeof(struct book),1,pbooks);

 

 

 

 

 

 

 

 

联合(union,与struct区别主要在于同时只有一个成员存在)、枚举(enum)、typedef

枚举的指定值与数组不同,数组没赋值默认为0,枚举向后递增

在同一作用域内,对一个变量和一个标记(结构标记,枚举~、联合~)C++因为放在同一个名字空间内会出错,而c不会

typedef给出的符号名称只限于对类型,解释由编译器,而不是预处理器执行

typedef char * STR;
#define STR char* 不同

typedef struct book{
...
}COM; //COM等同 struct book 与之前的定义声明合在一起不同

 

一个函数指针可以作为另一个函数的参数

 

可以拥有函数指针的数组

void (*pf)(char *);

 

转载于:https://www.cnblogs.com/zxj-262410/p/6691258.html

你可能感兴趣的文章
HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
查看>>
vim中文帮助教程
查看>>
MySQL基础3
查看>>
RxJS & Angular
查看>>
面向对象(多异常的声明与处理)
查看>>
MTK笔记
查看>>
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
css文本溢出显示省略号
查看>>
git安装和简单配置
查看>>
面向对象:反射,双下方法
查看>>
鼠标悬停提示文本消息最简单的做法
查看>>
课后作业-阅读任务-阅读提问-2
查看>>
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>