摘要:結(jié)構(gòu)體也可以包含結(jié)構(gòu)體,就像內(nèi)部類訪問結(jié)構(gòu)的屬性和一樣。。我覺得這個(gè)需要學(xué)下數(shù)據(jù)結(jié)構(gòu)才能更好理解給數(shù)據(jù)類型起一個(gè)新名字則可以通過對(duì)于結(jié)構(gòu)體我可以這樣再通過變量名就可以簡(jiǎn)便的聲明結(jié)構(gòu)體變量。文件暫時(shí)過了一遍預(yù)處理器頭文件就是擴(kuò)展名為的文件。
不深入探討,只是簡(jiǎn)單了解一下c的相關(guān)知識(shí),并留下自己的學(xué)習(xí)筆記以供參考。
在java中,java數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型
在c中,數(shù)據(jù)類型分為基本類型,枚舉類型,void類型,派生類型(指針類型,數(shù)組類型,結(jié)構(gòu)類型,共用體類型,函數(shù)類型)。
基本數(shù)據(jù)類型基本同于java,不過long在java是八字節(jié),在c是四字節(jié),而且c并不能聲明byte變量。
變量概念同于java
在java中,用final static能達(dá)到常量的效果。
在c中,用define以及const。
例如定義長度常量為10
define length 10;
const int length = 10;
這個(gè)有點(diǎn)奇怪了,
auto只能用在函數(shù)里面,即用于局部變量,也是所有局部變量默認(rèn)的存儲(chǔ)類。
這個(gè)。。離譜
靜態(tài),和java差不多
連接兩個(gè)文件的東西
多了個(gè)雜項(xiàng)運(yùn)算符
有個(gè)goto,但是不建議用
相當(dāng)于靜態(tài)方法的意思
定義方法
返回類型 函數(shù)名(形參){
函數(shù)主體;
}
調(diào)用函數(shù)類似于java中的靜態(tài)方法,直接調(diào)用即可。
全局變量和局部變量與java基本相似
double a[3];
double a[]{3.1,2.2,1.123};
其他大概類似
規(guī)則是從定義的第一個(gè)開始,之后的每個(gè)遞增1,從0開始增加。
如果定義了就另算
定義方法為
enum 枚舉名{
枚舉元素
}
使用
enum 枚舉名 變量名。
變量名 = 枚舉元素;
這是c獨(dú)有的東西了
定義方法
數(shù)據(jù)類型 *指針變量名;
p = &相同數(shù)據(jù)類型的變量。
輸出
printf("%p",指針變量名)輸出地址
printf("%d",*指針變量名);輸出具體內(nèi)容;
指針可以加減
而在遞增或者遞減的時(shí)候,加的值取決于數(shù)據(jù)類型的長度
c中好像沒有String類型,
如果想定義這個(gè)
需要
char 變量名[] = “”;
自定義數(shù)據(jù)類型
相當(dāng)于沒有方法的類?
定義格式
struct 變量名{
屬性
};
也可以在花括號(hào)的最后面以及分號(hào)的前面申明一個(gè)該數(shù)據(jù)類型的變量。
結(jié)構(gòu)體也可以包含結(jié)構(gòu)體,就像內(nèi)部類?
訪問結(jié)構(gòu)的屬性和java一樣。。只不過從java的對(duì)象變成了聲明變量。
如果要把結(jié)構(gòu)體作為形參,需要
void method (struct 結(jié)構(gòu)體名 變量名)
結(jié)構(gòu)的指針
struct 結(jié)構(gòu)體嗎 *指針變量名
調(diào)用結(jié)構(gòu)體指針的屬性需要
指針變量嗎->屬性
union 共用體名{
數(shù)據(jù)類型 變量名
}變量名;
作用在于可以再里面定義多種數(shù)據(jù)類型,使這個(gè)內(nèi)存空間可以存儲(chǔ)不同的數(shù)據(jù),配合指針的東西。
訪問共用體的成員,通過
變量名.成員變量名;
定義位域結(jié)構(gòu)的時(shí)候
struct 位域結(jié)構(gòu)名
{
數(shù)據(jù)類型 變量名 : 位(填寫數(shù)字作為數(shù)據(jù)占的位);
};
位域可以定義無名變量,用來調(diào)整位子。
我覺得這個(gè)需要學(xué)下數(shù)據(jù)結(jié)構(gòu)才能更好理解
給數(shù)據(jù)類型起一個(gè)新名字
typedef int awnswer;
則可以通過
answer a = 1;
對(duì)于結(jié)構(gòu)體
我可以這樣
typedef struct A{
}B;
再通過B 變量名;
就可以簡(jiǎn)便的聲明結(jié)構(gòu)體變量。
就是擴(kuò)展名為.h的文件。
錯(cuò)誤處理
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/121996.html
摘要:本文是作者自己對(duì)中線程的狀態(tài)線程間協(xié)作相關(guān)使用的理解與總結(jié),不對(duì)之處,望指出,共勉。當(dāng)中的的數(shù)目而不是已占用的位置數(shù)大于集合番一文通版集合番一文通版垃圾回收機(jī)制講得很透徹,深入淺出。 一小時(shí)搞明白自定義注解 Annotation(注解)就是 Java 提供了一種元程序中的元素關(guān)聯(lián)任何信息和著任何元數(shù)據(jù)(metadata)的途徑和方法。Annotion(注解) 是一個(gè)接口,程序可以通過...
某熊的技術(shù)之路指北 ? 當(dāng)我們站在技術(shù)之路的原點(diǎn),未來可能充滿了迷茫,也存在著很多不同的可能;我們可能成為 Web/(大)前端/終端工程師、服務(wù)端架構(gòu)工程師、測(cè)試/運(yùn)維/安全工程師等質(zhì)量保障、可用性保障相關(guān)的工程師、大數(shù)據(jù)/云計(jì)算/虛擬化工程師、算法工程師、產(chǎn)品經(jīng)理等等某個(gè)或者某幾個(gè)角色。某熊的技術(shù)之路系列文章/書籍/視頻/代碼即是筆者蹣跚行進(jìn)于這條路上的點(diǎn)滴印記,包含了筆者作為程序員的技術(shù)視野、...
摘要:的出現(xiàn)解決了這尷尬的問題,非阻塞模式下,通過,我們的線程只為已就緒的通道工作,不用盲目的重試了。注意要將注冊(cè)到,首先需要將設(shè)置為非阻塞模式,否則會(huì)拋異常。 showImg(https://segmentfault.com/img/remote/1460000017053374); 背景知識(shí) 同步、異步、阻塞、非阻塞 首先,這幾個(gè)概念非常容易搞混淆,但NIO中又有涉及,所以總結(jié)一下。 ...
閱讀 2547·2021-11-15 18:14
閱讀 1754·2021-10-14 09:42
閱讀 3813·2021-10-11 10:58
閱讀 4001·2021-10-09 09:44
閱讀 2484·2021-09-26 09:55
閱讀 2509·2021-09-24 10:38
閱讀 2073·2021-09-04 16:48
閱讀 3305·2021-09-02 15:21