发表日期: 2021-03-27 15:56:43 浏览次数:114
常宁企业微信公众号小程序开发公司、常宁企业网页设计方案、常宁做网站开发价格、常宁微信公众号制作运营报价明细表、常宁网站设计公司费用、常宁网站推广大概需要多少钱
常宁,隶属湖南省,是由衡阳市代管的县级市。位于湖南省南部、湘江中游南岸,东隔舂陵水与耒阳市为界,南与郴州市桂阳县相连,西与永州市祁阳县接壤,北濒湘江与祁东县、衡南县二县相望。2020年,常宁下辖14个镇、4个乡、5个街道。境内地势南高北低,大致呈两级阶梯形分布,属亚热带季风性湿润气候。地处北纬26°07'至26°36',东经112°07'至112°41'之间。面积2046.6平方千米 [1] 。
常宁为中国油茶之乡 [2] 、杉木楠竹之乡 [3] 、公交免费城市 [4] 、全国第二批商务综合行政执法试点县级城市 [5] 、全国第三批资源枯竭城市 [6] 。
2018年,常宁市地区生产总值(GDP)331.93亿元,常住人口80.5万人。 [7]
2018年10月22日,入选2018年全国农村一二三产业融合发展先导区创建名单。 [8] 2019年1月9日,凭借版画入选2018—2020年度“中国民间文化艺术之乡”名单。 [9] 天堂山-西江风景区被评为省级风景名胜区。 [1]
2019年3月6日,中央宣传部、财政部、文化和旅游部、国家文物局《中央宣传部 财政部,文化和旅游部,国家文物局关于公布《革命文物保护利用片区分县名单(第一批)》的通知》常宁市名列其中。 [10] 2021年1月29日,入选湖南省人民政府公布的2020年度真抓实干成效明显的地区名单。
首先介绍C语言数据模型的静态部分——类型系统,它描述了数据可能拥有的值。随后要讨论C语言数据模型的动态部分,也就是可以对数据进行的操作。
在C语言中,有着类型构成的无限集合,其中的任意元素都可以成为与某个特定变量相关联的类型。这些类型以及构成类型的规则就形成了C语言的类型系统。类型系统包含整数这样的基本类型以及一些类型构成规则(type-formation rule),利用这些规则,我们可以用已知的类型逐步构建更为复杂的类型。C语言的基本类型包括:
1. 字符(char
、signed char
、unsigned char
);
2. 整数(int
、short int
、long int
、unsigned
);
3. 浮点数(float
、double
、long double
);
4. 枚举(enum
)。
整数和浮点数称为算术类型。
类型构成规则假设我们已经有了一些类型,可以是基本类型或使用这些规则构建好的其他类型。以下是C语言中的一些类型构成规则。
1. 数组类型。可以用以下声明构建一个元素类型为T 的数组:
T A[n]
该语句声明了包含n个元素的数组A
,其中每个元素都是T类型的。在C语言中,数组下标是从0开始的,所以数组的第一个元素是A[0]
,而最后一个元素是A[
n-1]
。数组可由字符、算术类型、指针、结构体、共用体或其他数组构成。
2. 结构体类型。在C语言中,结构体是由称为成员或字段的变量构成的分组。在结构体中,不同的成员可以具有不同的类型,但每个成员都必须具有某一个类型的元素。如果T1、T2、…、Tn 是类型,而M1、M2、…、Mn 是成员名称,那么如下声明
struct
S {
T1 M1;
T2 M2;
…
Tn Mn;}
就定义了标记(即其类型的名称)为S而且具有n 个成员的结构体。对i = 1、2、…、n 来说,第i 个成员名称为Mi,且其值为Ti 类型。示例1.1就展示了一个结构体。该结构体的标记是CELL
,并含有两个成员。第一个成员的名称是element
,类型为整数。第二个成员名称为next
,它的类型是指向某个同类型结构体的指针。
结构体标记S 是可选的,不过它可以在随后的声明中为表示类型提供方便的简写。例如,声明
struct
S myRecord;
定义了变量myRecord
是一个类型为S 的结构体。
3. 共用体类型。共用体类型允许一个变量在程序执行的不同时期具有不同的类型。声明
union{
T1 M1;
T2 M2;
…
Tn Mn;} x;
定义了变量x
,可以存放类型为T1、T2、…、Tn 中任意一种的值。成员名称M1、M2、…、Mn 用来指示x
的值现在应该是哪种类型。也就是说,x
.Mi 就表明x
的值是类型为Ti 的值。
4. 指针类型。C语言的独特之处在于对指针的依赖。指针类型的变量包含某个存储区域的地址。可以通过指针,间接地访问另一个变量。声明
T *p
;
定义了变量p
是指向某个T 类型变量的指针。用p
来表示指向T 的类型指针的框,框p
的值就是个指针。我们往往将p
的值表示成一个箭头,而不是将其表示成T 类型的对象本身,如图1-10所示。真正出现在p
框中的是T 类型对象在计算机中存储的地址(或位置)。
图 1-10 变量p
是指向T 的类型指针
考虑如下声明
int x, *p;复制代码
在C语言中,一元运算符&
是用来获取对象地址的,所以声明
p = &x;复制代码
将x
的地址赋值给p
,也就是说,这让p
指向x
。
用在p
前面的一元运算符*
会获取p
指向的框的值,所以声明
y = *p;复制代码
会将框p
指向的内容赋值给y
。如果y
是int
类型的变量,那么
p = &x;y = *p;复制代码
就等价于赋值语句
y = x;复制代码
C语言的typedef
结构可用来创建类型名称的同义字。
看一看图1-11中的4个typedef
声明。依照对C语言中数据的传统看法,类型type1
是有10个槽(slot)的数组,每个槽中都存放着一个整数,如图1-12a所示。同样,类型type2
的对象是指向这类数组的指针,如图1-12b所示。而类型type3
的结构体则被表现为图1-12c中所示的形式,每个字段都有一个槽与其对应。请注意,字段名称(例如field1
)实际上并未与字段的值一起出现。最后,数组类型type4
的对象将会有5个槽,每个槽都存放着类型type3的对象,即如图1-12d所示的结构体。
typedef int Distance;typedef int type1[10];typedef type1 *type2;typedef struct { int field1; type2 field2;} type3;typedef type3 type4[5];复制代码
图 1-11 一些C语言typedef
声明
图 1-12 图1-11中类型声明的形象化表示
类型、名字、变量和标识符
与数据对象相关的一些术语有不同的含义却又容易混淆。首先,类型描述了数据对象的“形状”。在C语言中,可以使用
typedef
结构为已有的类型定义一个新名字T。
typedef <类型描述符>
T这里的类型描述符是个表达式,告诉我们T 类型的对象是什么样子。
类型为T 的
typedef
声明实际上并没有创建T 类型的对象。要创建T 类型的对象,需要使用如下形式的声明T
x;
这里的
x
是个标识符,或者说是“变量名”。x
有可能是静态的(不是任何函数的局部变量),在这种情况下,表示x
的框在程序开始时就创建了。如果x
不是静态的,那么它应该是某个函数F 的局部变量。在调用F 时,就会创建一个名为“与本次对F 的调用相关联的x
”的框。更准确地说,该框的名称还是x
,不过只在执行本次对F 的调用时,才使用标识符x
来表示该框。正如文中提到的,因为F 可能是递归函数,所以可能存在许多名称涉及标识符
x
的框。甚至可能会有其他函数使用标识符x命名自己的某个变量。此外,名字比标识符更具一般性,因为有很多种表达式可以用来为框命名。例如,我们提到过*p
可以是指针p
指向的某个对象的名字,而该对象的其他名字也可以是复杂的表达式,比如(*p).f[2]
或p->f[2]
。这两个复杂表达式是等价的,都表示指针p
指向的结构体中f
字段数组的第二个元素。
常宁企业微信公众号小程序开发公司、常宁企业网页设计方案、常宁做网站开发价格、常宁微信公众号制作运营报价明细表、常宁网站设计公司费用、常宁网站推广大概需要多少钱
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: https://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878