c語言基礎型別

2021-07-01 20:46:30 字數 2219 閱讀 2428

字串

strcpy(p, p1) 複製字串 

strncpy(p, p1, n) 複製指定長度字串 

strcat(p, p1) 附加字串 

strncat(p, p1, n) 附加指定長度字串 

strlen(p) 取字串長度 

strcmp(p, p1) 比較字串 

strcasecmp忽略大小寫比較字串

strncmp(p, p1, n) 比較指定長度字串 

strchr(p, c) 在字串中查詢指定字元 

strrchr(p, c) 在字串中反向查詢 

strstr(p, p1) 查詢字串 

strpbrk(p, p1) 以目標字串的所有字元作為集合,在當前字串查詢該集合的任一元素 

strspn(p, p1) 以目標字串的所有字元作為集合,在當前字串查詢不屬於該集合的任一元素的偏移 

strcspn(p, p1) 以目標字串的所有字元作為集合,在當前字串查詢屬於該集合的任一元素的偏移  

* 具有指定長度的字串處理函式在已處理的字串之後填補零結尾符 

c結構體

typedef struct man

man;

int main()

;man man2 = ;

man man3 = ;

printf("%d\n",man1.age);

printf("%d\n",man3.score);

}結構體訪問元素使用 結構體名稱.元素屬性 例如上面的

man1.age

結構體陣列

man man4[3] = ,,}

訪問屬性方法 man4[2].age = 30

sizeof

網上有很多文章已經詳細講述過sizeof的用法,但是我覺得其實sizeof並沒有那麼複雜。在這兒簡單地再總結一下。

1,是什麼?

sizeof其實就是乙個運算子,和那些+,-一樣的東西,在程式編譯的時候進行解析轉換。雖然我們經常見到sizeof後面跟著個小括號,長得和函式差不多,但它和函式完全是兩碼事。

2,有什麼用?

sizeof其實就是用於告訴我們編譯器在為某一特定資料或者某種資料型別的資料在儲存空間中開闢空間時,開闢的空間大小,以位元組為單位。

3,怎麼用?

sizeof(型別),或者sizeof(變數)都可以,得到的就是型別或者變數的儲存空間。當對變數用的時候,也可以沒有括號,直接 sizeof 變數,但一般不用(我一般都是只記一種通用的用法……)。

4,用的時候要注意什麼?

(1)sizeof返回的占用空間大小是為這個變數開闢的大小,而不只是它用到的空間。和現今住房的建築面積和實用面積的概念差不多。所以對結構體用的時候,大多情況下就得考慮位元組對齊的問題了。

(2)對位域成員等連編譯器都無法確定儲存空間的東西不能用。這個應該比較好理解,因為sizeof返回的都是以位元組為單位的資料,你讓它去求那些以位為單位的大小,這不是存心難為編譯器嘛。所以編譯器採用的方案是統一不受理,即使你說你剛好是8位,佔乙個位元組,編譯器也不理你。

(3)sizeof返回的資料型別是unsigned int。因為c中不同型別資料混合運算時的自動轉換,有時候不注意的話可能會出問題,具體可以參照下面的程式例子。

(4)要注意陣列名和指標變數的區別。通常情況下,我們總覺得陣列名和指標變數差不多,但是在用sizeof的時候差別很大,對陣列名用sizeof返回的是整個陣列的大小,而對指標變數進行操作的時候返回的則是指標變數本身所佔得空間,在32位機的條件下一般都是4。而且當陣列名作為函式引數時,在函式內部,形參也就是個指標,所以不再返回陣列的大小。

例如:typedef struct man

man;

man man4 = , ,

}這樣乙個結構體,需要統計結構體陣列的個數,則:

int count = sizeof(man)/sizeof(man4[0]);

具體用法還有好多。。。

陣列//這是字元陣列賦初值的方法

char carr[6] = ;

//這是字串賦初值的方法

char sarr[6] = "quanxue";

int intarr[3] =

int intarr[3][2] = ,,}

氣泡排序

int intarr[3] =

for(int i=0; ifor(int j=0; j < sizeof(intarr)/sizeof(intarr[0])-i; j++) }}

c語言基礎 資料型別

c語言中有四種基本資料型別 整型 浮點型 指標和聚合型別 陣列和結構等 其他型別由此四種派生而成。1 整數型別 整型包含 字元 char 整型 int 長整型 long 和短整型 short 都分為有符號 signed 和無符號 unsigned 兩種。按位數有short int long,其中sh...

c語言基礎(六)之型別

多級指標簡單demo main 函式指標demo int add int x,int y main c語言結構體 使用struct關鍵字。事例demo struct person main printf age d n p.age printf 結構體的長度 d n sizeof p c語言聯合體 ...

c語言基礎 資料型別

c語言基本資料型別大體上分為 整型 和 浮點型 位元組 計算機中最小的儲存單位 1 byte 8 bit 整型 int 4 short 2 long 4或者8 char 1 浮點型 float 4 double 8 常量 程式執行過程中,值不能被改變的量 常量分為 整型常量.浮點型常量.字元型常量 ...