C結構和其他資料型別

2021-08-20 22:11:33 字數 2004 閱讀 5709

1、結構宣告和變數宣告

struct name{};

struct name val;

列:宣告變數

struct book library;

簡化宣告變數

struct book library;

初始化結構體

struct book library = ;

指定初始化器

struct book surprise = ;

2、聯合(union)是一種資料型別,它能在同乙個記憶體空間中儲存不同的

資料型別(不是同時儲存)。其典型的用法是,設計一種表以儲存既無規

律、事先也不知道順序的混合型別。

union hold ;

上面聯合儲存乙個int型別的值或乙個double型別的

值或char型別的值

3、可以用列舉型別(enumerated type)宣告符號名稱來表示整型常量。使

用enum關鍵字,可以建立乙個新"型別"並指定它可具有的值(實際上,enum

常量是int型別,因此,只要能使用int型別的地方就可以使用列舉型別)。

宣告列舉

enum spectrum ;

enum spectrum color;

因此,color可能的值是red、orange、yellow等。

這些符號常量被稱為列舉符(enumerator)。然後,便可這樣用:

int c;

color = blue;

if (color == yellow)

...;

for (color = red; color <= violet; color++)

在列舉宣告中,可以為列舉常量指定整數值:

enum levels ;

4、typedef工具是乙個高階資料特性,利用typedef可以為某一型別自定義名

稱。typedef

unsigned

char byte;

隨後,便可使用byte來定義變數:

byte x, y[10], * z;

還可以把typedef用於結構:

typedef

struct

complex complex;

然後便可使用complex型別代替complex結構來表示複數。使用typedef

的第1個原因是:為經常出現的型別建立乙個方便、易識別的型別名

用typedef來命名乙個結構型別時,可以省略該結構的標籤:

typedef

struct rect;

假設這樣使用typedef定義的型別名:

rect r1 = ;

rect r2;

以上**將被翻譯成:

struct r1= ;

5、函式指標

void toupper(char *);// 把字串中的字元轉換成大寫字元

void (*pf)(char *);// pf 是乙個指向函式的指標

pf = toupper;//有效,toupper是該型別函式的位址

列:void toupper(char *);

void tolower(char *);

void (*pf)(char *);

char mis = "nina metier";

pf = toupper;

(*pf)(mis);//把toupper 作用於(語法1)

pf = tolower;

pf(mis);//把tolower 作用於(語法2)

函式做為引數

void show(void (* fp)(char *), char * str);

show(tolower, mis);//show()使用tolower()函式:fp = tolower

show(pf, mis);//show()使用pf指向的函式: fp = pf

void show(void (* fp)(char *), char * str)

其他資料型別

資料型別 作用 sql variant 用於儲存各種資料型別 timestamp 用於反應資料庫中資料修改的相對順序 uniqueidentifier 用於儲存乙個16位元組長的二進位制資料 xml 用於儲存整個xml文件 table 用於儲存對錶或者檢視查詢的結果集 cursor 用於對記者進行逐...

String 和其他資料型別的轉換

將其它基本資料型別轉換為string 型別 一 由基本資料型態轉換成string string 類別中已經提供了將基本資料型態轉換成 string 的static 方法,也就是string.valueof 這個引數多載的方法 有以下幾種 1 string.valueof boolean b 將boo...

c基礎 資料型別 結構和聯合

聚合資料型別能夠同時儲存超過乙個的單獨資料。c提供了兩種聚合資料型別 陣列和結構 陣列是相同型別的元素的集合,它的每個元素是通過下標引用或指標間接訪問來選擇的。結構可以儲存不同的型別值,這些值為它的成員,成員是通過名字訪問的。結構宣告 eg.1 struct struct x,y 20 z eg.2...