格式化说明符定义、转义字符、枚举、结构体、typedef

1、格式化说明符定义:

  %i,%d:输出十进制整型数

  %6d:输出十进制整型数,至少6个字符宽  

  %li,%ld:输出长整数

  %u:输出无符号整数

  %lu:输出无符号长整数(相当于:unsigned long int)

  %f,%g:输出浮点类型数

  %.2f:输出浮点类型数,小数点后有两位小数

  %lf:输出双精度浮点数

  %o:输出八进制数

  %e:以科学计数法,输出浮点数

  %c:输出字符

  %s:输出字符串

  %p,%x:输出变量的内存地址和十六进制数

2、转义字符:

  \a             响铃符

  \b             回退符

  \f              换页符

  \n             换行符

  \r             回车符

  \t              横向制表符

  \v             纵向制表符

  \\             反斜杠

  \?             问号

  \’                     单引号

  \”             双引号

  \ooo         八进制数

  \xhh            十六进制数

3、

  #include<>:告诉编译器去系统默认的路径寻找相关的文件。

  #include"":告诉编译器先去源程序所在目录下寻找,如果没有就去系统默认路径寻找。

  任何变量的声明都可以使用const限定符限定;该限定符指定变量的值不能被修改;对数组而言,const限定符指定数组所有元素的值都不能被修改。const限定符也可配合数组参数使用,它表明函数不能修改数组元素的值;如果试图修改const限定符限定的值,其结果取决于具体的实现。

4、枚举的概念:

  枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。

// 定义一种枚举类型

enum Season {spring, summer, autumn, winter};

// 定义一个枚举变量s

enum Season s = winter;

// 定义枚举类型的同时定义一个枚举变量s

enum Season {spring, summer, autumn, winter} s = spring;

或者: enum {spring = 3, summer, autumn, winter} s = winter;//固定值默认是从0开始排序的。

5、结构体:

  在实际应用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名、年龄、身高等数据构成,这些数据都具有不同的类型,姓名可以是字符串类型,年龄可以是整型,身高可以是浮点型。为此,C语言专门提供了一种构造类型来解决上述问题,这就是结构体,它允许内部的元素是不同类型的。struct是关键字,是结构体类型的标志。结构体的一般定义形式为:

struct 结构体名{

类型名1 成员名1;

类型名2 成员名2;

……

类型名n 成员名n;   

};

先定义结构体类型,再定义变量:

1 struct Student {
2
3     char *name;
4
5     int age;
6
7 };
8 struct Student stu;  //定义了一个结构体变量,变量名为stu。struct和Student是连着使用的。

或者:

1 struct Student {
2
3     char *name;
4
5     int age;
6
7 } stu;     //其中结构体类型名Student可以省略。

结构体内可以包含别的结构体。

6、typedef作用简介:

我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。如:

1 typedef int Integer;
2
3 typedef unsigned int UInterger;
4
5 typedef float Float;

也可以在别名的基础上再起一个别名:

1 typedef int Integer;
2
3 typedef Integer MyInteger;
4
5 typedef char *String;  //给指针类型char *起别名为String。

使用typedef给结构体起别名:

 1 struct MyPoint {
 2
 3     float x;
 4
 5     float y;
 6
 7 };
 8
 9 typedef struct MyPoint Point;  // 起别名
10
11 int main(int argc, const char * argv[]) {
12
13     Point p;  // 定义结构体变量
14
15     p.x = 10.0f;
16
17     p.y = 20.0f;
18
19     return 0;
20
21 }
22
23 // 定义一个结构体,顺便起别名
24
25 typedef struct MyPoint {
26
27     float x;
28
29     float y;
30
31 } Point;  //Point为别名,结构体名称MyPoint可省略。
时间: 2024-08-07 04:32:22

格式化说明符定义、转义字符、枚举、结构体、typedef的相关文章

结构体+typedef的具体应用和解释

首先需要先了解结构体的基本知识: 1.结构体定义: struct 结构体名 { --结构体成员: } 举例: struct student { char name[10]; int age; } 2.结构指针-struct *p 其中,p为指向结构的一个指针,在给p传地址时,要给他传入结构体类型的地址. 举例: struct student *p; struct student stu1={"Anna",20}; p = &stu1; 依据上例可以发现,一个结构的名字并不是该结

5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左到右对应0,1,2,3 enum CompassPoint { case North case South case East case West //enum中可以定义方法 func show(){ print(self) } } //定义enum 变量 var p = CompassPoint.Nor

C语言基础知识----联合 &amp;&amp; 枚举 &amp;&amp; 结构体

结构体 struct 结构体标签(可选) { 类型1 标识符1: 类型2 标识符2: ....... }(变量定义可选); 联合 union 可选的标签 { 类型1 标识符1: 类型2 标识符2: ........ }可选的变量定义: 联合与结构体相似,但内存布局上存在关键性的区别.结构体中每个成员顺序存储:而在联合中,所有的成员都是从偏移量为零处开始存储(位置是重叠的),并且在某一时刻,只有一个成员真正存储于改地址. 枚举(它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为

结构体 typedef关键字

1 结构体 #include <iostream> #include <cstring> using namespace std; void printBook( struct Book book ); struct Book { char title[50]; char author[50]; char subject[100]; int book_id; }; int main() { struct Book book1; struct Book book2; strcpy(

构造类型:数组\枚举\结构体

#import <Foundation/Foundation.h>//结构体:构造类型,是一种自定义类型.//struct CPoint//struct 是关键字用来声明结构体 后面是结构体的名字 花括号里面的内容叫成员变量//{//    float x;//    float y;// //};// 以分号结尾 typedef struct car{////    char name[20];////    int number;////    float score;////}Ca;//

c#笔记(十五)——枚举结构体

枚举类型的变量只有赋值之后才能使用,并且所赋的值必须是有效的:不同的枚举可以有相同的值,不会冲突,比如week.day和month.day; 结构体:使用结构体的成员时的格式:结构体类型变量.成员名        Person p ;                 p.name=nignyognbin; :结构体的成员都不允许直接初始化(不能直接赋值): 结构体中的变量是不可以直接赋值的,类中的字段可以直接赋值 枚举类型的变量只有赋值之后才能使用,并且所赋的值必须是有效的:不同的枚举可以有相同

定义和使用结构体变量

含义:由不同类型数据组成的组合型数据结构成为结构体. 1.建立结构体 1 struct MyStruct 2 { 3 long num; 4 float score; 5 char name[20]; 6 int age; 7 struct MyStruct *netx; 8 }; 2.结构体变量的定义 (1).struct 结构体名 { }变量名列表 如: struct MyStruct    {      long num;      float score;      struct MyS

Linux中的两个经典宏定义:获取结构体成员地址,根据成员地址获得结构体地址;Linux中双向链表的经典实现。

倘若你查看过Linux Kernel的源码,那么你对 offsetof 和 container_of 这两个宏应该不陌生.这两个宏最初是极客写出的,后来在Linux内核中被推广使用. 1. offsetof 1.1 offsetof介绍 定义:offsetof在linux内核的include/linux/stddef.h中定义.#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) 说明:获得结构体(TYPE)的变量成员(

结构体typedef struct dtuple_struct dtuple_t;

/** Structure for an SQL data tuple of fields (logical record) */ struct dtuple_struct { ulint info_bits; /*!< info bits of an index record: the default is 0; this field is used if an index record is built from a data tuple */ ulint n_fields; /*!< n