在C語言中GUID的結構體是什麼

2025-02-03 00:55:23 字數 5840 閱讀 3941

1樓:善騎者墮

32位機器下的定義:

typedef struct _guid {unsigned long data1;

unsigned short data2;

unsigned short data3;

unsigned char data4[ 8 ];

guid;至於意義嘛,其實就是如同手機號,全球唯一,可以指代任何東西。我們算一算這個東西到底能表示多少東西:

unsigned long是32位。

unsigned short是16位。

unsigned char是8位。

那麼總共可以表示的數量是2^(32+16+16+8*8)就是2的128次冪。

這個資料量大概是多少呢,如果把乙個人的一生時間(按照100年算)100年約等於36500天=3153600000秒=3153600000000毫秒。

然後按照2的十次方為1000來算。

這個毫秒數小於2的四十次方。

也就是說guid可以表示2的88個人每毫秒消耗乙個唯一特定的guid這個只是估算,實際值比這個大不少呢。

2樓:heart阿飛

第一步:建立新檔案,這個直接就是cpp的,; 第二部:儲存(避免檔案丟失或找不到位置); 第三步:

編寫** 第四步:然後確定沒有問題後,點構建選單的構建,或者直接按f5 建議你用或者vs2008比較好。

在c語言中 函式和結構體的區別

3樓:發來咯嗯

函式是自定意義型別 結構體是把自定意義型別 資料整個在一起 儲存起來。

4樓:網友

c語言中結構體和函式有著本質上的不同。

結構體是使用者自己定義的一中資料型別,比如說你想要把學生資訊作為乙個整體存放在乙個資料型別中,可以定義結構體,其中某個成員存放學號,某個存放姓名等等。

但是函式就完全不同了,函式是為了實現某種功能,比如你要在一堆學生中尋找某乙個學生可以用函式來實現。

5樓:西安

結構體是c語言裡面使用者自定義 的一種資料型別,和int double 基本一樣,只是,裡面可以包含多種資料型別,它的出現大大豐富了c語言的資料型別。

而函式是c語言的主體,函式呼叫,資料,執行運算,命令。

懂?你是初學者吧。還有啥不太清楚的可以再發郵件給我,。我郵箱。

6樓:網友

乙個程式通常圍繞這兩個方面進行:資料儲存和資料操作;

結構體是一種資料型別,用來將不同型別的資料組合在一起,決定資料的儲存問題(比如在記憶體佔多大的空間來,系統怎麼解釋儲存資料的位資料啦等等)同int, double 等編譯器內建的資料型別基本相同,只不過結構體是使用者自己定義的資料型別而已,例如:

struct student

char name[20];

int no;

函式是對資料的一種操作;

7樓:愛星星的魁拔

函式一般用來進行某項操作,結構體用來儲存資料,怎麼會差不多?

8樓:網友

結構體定義的是一種資料型別和函式一點都不一樣啊。

在c語言中,使用結構體的時候 "->" 和 「." 有什麼區別,越詳細越好,謝謝?

9樓:大寶與瑩寶

定義的結bai構體如果是指標,訪問du成員時就用zhi->

如果定義的是結構體dao變數,內訪問成員時就用容。

指標引用任何變數都是這樣引用的 ,規定的。

我忘了 ex = ; 這樣的初始化是否合法了,如果合法的話,那就是編譯器做了工作,把。

ex = ; 轉換成了 (*= 10; = 99;

結構體成員運算子。

指標運算子。

1、如果結構體中的成員均為一般變數(包括結構體變數),則使用「.」如果成員變數為指標(不管指向什麼,包括結構體),則使用「->

2、如果定義了結構體陣列指標,則可分別使用「.」和「->區別在於指標帶下標時,以是陣列形式訪問,此時用「.」如果不帶下標(或使用偏移),此時用「->

10樓:網友

貌似沒有區別。

有幾種訪問結構體的方法:

訪問結構成員的運算子有兩種,一種是結構成員運算子「·」也稱為「圓點運算子」,另一種是結構指標運算子「->也稱「箭頭運算子」。

結構成員運算子通過結構變數名訪問結構體的成員。例如:

printf("%s",;

結構指標運算子由減號「-」和「>」組成(中間沒有空格),它通過指向結構的指標訪問結構的成員。假定宣告瞭指向struct student的指標sptr,並且把結構student1的位址賦給了sptr,如下列語句通過指標sptr列印了結構student1的成員name:

printf("%s",sptr->name);

不要在結構指標運算子的-和》之間插入空格。

在用指標和結構成員運算子引用結構成員時一定要用圓括號(*sptr).name,因為結構成員運算子「.」比指標復引用運算子「*」的優先順序高,所以圓括號是必須的。

下面的程式演示了結構成員和結構指標運算子的用法:

#include

struct student

main()

11樓:網友

這個沒必要詳細,一說你就明白。

結構體變數用點;結構體變數的指標用箭頭。

你應該知道箭頭本身就是用於指標。

12樓:網友

定義的結構體如bai果是du指標,訪問成。

員時就用。zhi->

如果定義的是結構體變數,dao訪問成員內時就用。

例如容:struct aaa ;

struct aaa q; 訪問成員就用:;

struct aaa *p; 訪問成員就用:p->a;

13樓:網友

在c語言bai中,使用結構體的時候du "->" 和 「."

struct abc//宣告乙個struct abc的為結zhi構體dao型別專。

struct abc abc;//定義乙個struct abc型別的變數abc

struct abc *p;//定義乙個struct abc型別的指標變數p

p=&abc;//將結構體變數abc的位址賦給指標變數p//***是你要給變數賦的值。

下面三種方法都行!!!

結構體變數abc後跟點。;;

/指標p是結構體變數abc的位址,後跟->p->a=***

p->b=***

p->c=***

注意,括號不能省略,因為點。的優先順序高於星號*//(*p)相當於結構體變數,後跟點。

p).a=***

p).b=***

p).c=***

c語言中如何定義乙個結構體

14樓:藥郎小跟班

結構體的定義如下所示,struct為結構體關鍵字,tag為結構體的標誌,member-list為結構體成員列表,其必須列出其所有成員;variable-list為此結構體宣告的變數。在一般情況下,tag、member-list、variable-list這3部分至少要出現2個。

結構體的成員可以包含其他結構體,也可以包含指向自己結構體型別的指標,而通常這種指標的應用是為了實現一些更高階的資料結構如連結串列和樹等。如果兩個結構體互相包含,則需要對其中乙個結構體進行不完整宣告。

15樓:啦啦啦咯哦

c語言結構體型別的定義模板大概為:

struct 型別名 變數;

在c語言中,結構體(struct)指的是一種資料結構,是c語言中聚合資料型別(aggregate data

type)的一類。結構體可以被宣告為變數、指標或陣列等,用以實現較複雜的資料結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的型別,成員一般用名字訪問。

在成員表列中可以是幾種基本資料型別,也可以是結構體型別。

struct 型別名{} 變數;後的分號不能漏。

下面給出定義結構體型別的幾種方法:

1. 先定義結構體型別,再定義結構體變數。

struct student;

struct student stu1,stu2;//此時stu1,stu2為student結構體變數。

2. 定義結構體型別的同時定義結構體變數。

struct student stu1,stu2;

此時還可以繼續定義student結構體變數如:

struct student stu3;

一般不會使用第三種定義方法,因為直接定義結構體變數stu1,stu2後就不能再繼續定義該型別的變數。

16樓:匿名使用者

struct node

這樣就定義了乙個結構體型別node,它有兩個int型別的成員,分別是a和b,定義變數是用。

struct node st_a;

這樣的形式。(例如,上式就定義了乙個名為st_a的結構體變數)

17樓:網友

struct student //結構體型別的說明與定義分開。 宣告 {.

不環保的方式 #include struct student /*宣告時直接定義*/ { int...3.

c語言中定義結構體的幾種方法

18樓:非常可愛

1、先定義結構體型別,再定義結構體變數。

structstudent;

structstudentstu1,stu2;

此時stu1,stu2為student結構體變數2、定義結構體型別的同時定義結構體變數。

structstudentstu1,stu2;

3、直接定義結構體變數。

structstu1,stu2;

19樓:馬小芳

1) 先定義結構。

體型別,再定義結構體型別變數:

struct stu / *定義學生結構體型別* /;struct stu student1,student2;/ * 定義結構體型別變數* /

struct stu student3,student4;

2 ) 定義結構體型別同時定義結構體型別變數:

struct data

time1,time2;

也可以再定義如下變數:

struct data time3,time4;

3) 直接定義結構體型別變數:

struct

person1,person2; / *定義該結構體型別變數* /該定義方法由於無法記錄該結構體型別,所以除直接定義外,不能再定義該結構體型別變數。

20樓:檀琛卯秀美

struct

time_strtime_of_day;

這告述編譯器定義乙個型別名為。

time_str

的結構並定義乙個名為。

time_of_day

的結構變數。

變數成員的引用為結構。

變數名。結構成員。

struct

time_str

oldtime,newtime;

這樣就產生了兩個新的結構變數。

這些變數都是相互獨立的。

c語言結構體中的 . 和 -> 是什麼意思

21樓:網友

.是普通的結構體型別的變數取用結構體裡的元素,->是定義了乙個該結構體型別的指標變數取用結構體的元素。

22樓:網友

.結構變數訪問結構成員。

結構指標訪問結構成員。

C語言中連結串列中的結構體指標變數問題求教

定義結構體指標變數時,只分配儲存指標型別需要的空間,比如listnode p 這裡p有給他分配儲存指標的4個位元組的空間。實際上你是要讓p指向一個結構體空間的,這個結構體空間在哪?可以先定義listnode a 然後 p a 這時p指向一個之前申請分配過空間 編譯器設定過其地址和大小,在棧空間存放著...

在c語言中ak什麼意思,在C語言中,ak0什麼意思

字串結尾中止字元 比如 定義乙個字串,char a 3 對字串賦值如下 a 0 a a 1 b a 2 c a 3 0 0 字元簡單說就是告訴一串字元的結尾符 0 這個表示字串結束符 a k 0 表示把結束符賦值給字元陣列a的第k 1個元素 c語言中x 0是什麼意思 判斷變數x的值是否為0 如果是 ...

c語言中12ld是什麼意思,C語言中c是什麼意思

12表示的是輸出時佔12個位 置的長度,也就是如果數字是 12.345 它只有五個位,但是卻佔了12位的長版度,其它位在輸出權上用空格來填充 比如說執行下面的程式 include stdio.h void main 執行結果為 2press any key to continue而把12去掉又不同 ...