C語言 以字元形式讀寫檔案詳解及範例程式碼_C 語言

在C語言中,讀寫檔案比較靈活,既可以每次讀寫一個字元,也可以讀寫一個字串,甚至是任意位元組的資料(資料區塊)。本節介紹以字元形式讀寫檔案。以字元形式讀寫檔案時,每次可以從檔案中讀取一個字元,或者向檔案中寫入一個字元。主要使用兩個函數:fgetc()和fputc()。字元讀取函數 fgetcfgetc 是 file get char 的縮寫,意思是從指定的檔案中讀取一個字元。它的原型為:int fgetc (FILE *fp);fp 為檔案指標。fgetc()

C語言 typedef:給類型起一個別名_C 語言

C語言允許為一個資料類型起一個新的別名,就像給人起“綽號”一樣。起別名的目的不是為了提高程式運行效率,而是為了編碼方便。例如有一個結構體的名字是 stu,要想定義一個結構體變數就得這樣寫:struct stu stu1;struct 看起來就是多餘的,但不寫又會報錯。如果為 struct stu 起了一個別名 STU,書寫起來就簡單了:STU stu1;這種寫法更加簡練,意義也非常明確,不管是在標準標頭檔中還是以後的編程實踐中,都會大量使用這種別名。使用關鍵字 typedef

C語言 檔案的開啟與關閉詳解及範例程式碼_C 語言

在C語言中,檔案操作都是由庫函數來完成的,這節介紹檔案的開啟和關閉。檔案的開啟(fopen函數)fopen() 函數用來開啟一個檔案,它的原型為:FILE *fopen(char *filename, char *mode);filename為檔案名稱(包括檔案路徑),mode為開啟檔案,它們都是字串。fopen()

C語言 位元運算詳解及範例程式碼_C 語言

所謂位元運算,就是對一個位元(Bit)位進行操作。在《二進位思想以及資料的儲存》一節中講到,位元(Bit)是一個電子元器件,8個位元構成一個位元組(Byte),它已經是粒度最小的可操作單元了。C語言提供了六種位元運算符: 運算子 & | ^ ~ << >> 說明 按位與 按位或 按位異或 取反 左移 右移

C語言 位域詳解及範例程式碼_C 語言

有些資料在儲存時並不需要佔用一個完整的位元組,只需要佔用一個或幾個二進位位即可。例如開關只有通電和斷電兩種狀態,用 0 和 1 表示足以,也就是用一個二進位。正是基於這種考慮,C語言又提供了一種叫做位域的資料結構。在結構體定義時,我們可以指定某個成員變數所佔用的二進位位元(Bit),這就是位域。請看下面的例子:struct bs{ unsigned m; unsigned n: 4; unsigned char ch: 6;}:後面的數字用來限定成員變數佔用的位元。成員 m

C語言 枚舉類型(Enum)詳解及範例程式碼_C 語言

在實際編程中,有些資料的取值往往是有限的,只能是非常少量的整數,並且最好為每個值都取一個名字,以方便在後續代碼中使用,比如一個星期只有七天,一年只有十二個月,一個班每周有六門課程等。以每周七天為例,我們可以使用#define命令來給每天指定一個名字:#include <stdio.h>#define Mon 1#define Tues 2#define Wed 3#define Thurs 4#define Fri 5#define Sat 6#define Sun 7int

C語言 結構體和指標詳解及簡單樣本_C 語言

指標也可以指向一個結構體,定義的形式一般為:struct 結構體名 *變數名;下面是一個定義結構體指標的執行個體:struct stu{ char *name; //姓名 int num; //學號 int age; //年齡 char group; //所在小組 float score; //成績} stu1 = { "Tom", 12, 18, 'A', 136.5 };//結構體指標struct stu *pstu = &stu1;也可以在定義結構體的同時定義結構體指標:struct

C語言 結構體數組詳解及範例程式碼_C 語言

所謂結構體數組,是指數組中的每個元素都是一個結構體。在實際應用中,結構體數組常被用來表示一個擁有相同資料結構的群體,比如一個班的學生、一個車間的職工等。定義結構體數組和定義結構體變數的方式類似,請看下面的例子:struct stu{ char *name; //姓名 int num; //學號 int age; //年齡 char group; //所在小組 float score;

C語言 結構體(Struct)詳解及範例程式碼_C 語言

前面的教程中我們講解了數組(Array),它是一組具有相同類型的資料的集合。但在實際的編程過程中,我們往往還需要一群組類型不同的資料,例如對於學生資訊登記表,姓名為字串,學號為整數,年齡為整數,所在的學習小組為字元,成績為小數,因為資料類型不同,顯然不能用一個數組來存放。在C語言中,可以使用結構體(Struct)來存放一組不同類型的資料。結構體的定義形式為:struct 結構體名{   

C語言 函數指標(指向函數的指標)詳解_C 語言

一個函數總是佔用一段連續的記憶體地區,函數名在運算式中有時也會被轉換為該函數所在記憶體地區的首地址,這和數組名非常類似。我們可以把函數的這個首地址(或稱入口地址)賦予一個指標變數,使指標變數指向函數所在的記憶體地區,然後通過指標變數就可以找到並調用該函數。這種指標就是函數指標。函數指標的定義形式為:returnType (*pointerName)(param list);returnType 為函數傳回值類型,pointerNmae 為指標名稱,param list

C語言 指標與二維數組詳解_C 語言

二維數組在概念上是二維的,有行和列,但在記憶體中所有的數組元素都是連續排列的,它們之間沒有“縫隙”。以下面的二維數組 a 為例:int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} };從概念上理解,a 的分布像一個矩陣:0   1   2   34   5   6   78   9 

C語言 指標數組詳解及範例程式碼_C 語言

如果一個數組中的所有元素儲存的都是指標,那麼我們就稱它為指標數組。指標數組的定義形式一般為:dataType *arrayName[length];[ ]的優先順序高於*,該定義形式應該理解為:dataType *(arrayName[length]);括弧裡面說明arrayName是一個數組,包含了length個元素,括弧外面說明每個元素的類型為dataType *。除了每個元素的資料類型不同,指標數組和普通數組在其他方面都是一樣的,下面是一個簡單的例子:#include <stdio.

C語言 二級指標詳解及範例程式碼_C 語言

指標可以指向一份普通類型的資料,例如 int、double、char 等,也可以指向一份指標類型的資料,例如 int *、double *、char * 等。如果一個指標指向的是另外一個指標,我們就稱它為二級指標,或者指向指標的指標。假設有一個 int 類型的變數 a,p1是指向 a 的指標變數,p2 又是指向 p1 的指標變數,它們的關係如下圖所示:將這種關係轉換為C語言代碼:int a =100;int *p1 = &a;int **p2 = &p1;指標變數也是一種變數,也會佔用儲存空間,

C語言 指標變數作為函數參數詳解_C 語言

在C語言中,函數的參數不僅可以是整數、小數、字元等具體的資料,還可以是指向它們的指標。用指標變數作函數參數可以將函數外部的地址傳遞到函數內部,使得在函數內部可以操作函數外部的資料,並且這些資料不會隨著函數的結束而被銷毀。像數組、字串、動態分配的記憶體等都是一系列資料的集合,沒有辦法通過一個參數全部傳入函數內部,只能傳遞它們的指標,在函數內部通過指標來影響這些資料集合。有的時候,對於整數、小數、字元等基本類型資料的操作也必須要藉助指標,一個典型的例子就是交換兩個變數的值。有些初學者可能會使用下面的

C語言 字串指標詳解及範例程式碼_C 語言

C語言中沒有特定的字串類型,我們通常是將字串放在一個字元數組中,這在《C語言字元數組和字串》中已經進行了詳細講解,這裡不妨再來示範一下:#include <stdio.h>int main(){ char str[] = "http://c.biancheng.net"; int len = strlen(str), i; //直接輸出字串 printf("%s\n", str); //每次輸出一個字元 for(i=0; i<len; i++){ printf("%c",

C語言 數組指標詳解及範例程式碼_C 語言

數組(Array)是一系列具有相同類型的資料的集合,每一份資料叫做一個數組元素(Element)。數組中的所有元素在記憶體中是連續排列的,整個數組佔用的是一塊記憶體。以int arr[] = { 99, 15, 100, 888, 252 };為例,該數組在記憶體中的分布如下圖所示:定義數組時,要給出數組名和數組長度,數組名可以認為是一個指標,它指向數組的第 0 個元素。在C語言中,我們將第 0 個元素的地址稱為數組的首地址。以上面的數組為例,下圖是 arr

C 語言指標變數詳細介紹_C 語言

資料在記憶體中的地址也稱為指標,如果一個變數儲存了一份資料的指標,我們就稱它為指標變數。在C語言中,允許用一個變數來存放指標,這種變數稱為指標變數。指標變數的值就是某份資料的地址,這樣的一份資料可以是數組、字串、函數,也可以是另外的一個普通變數或指標變數。現在假設有一個 char 類型的變數 c,它儲存了字元 'K'(ASCII碼為十進位數 75),並佔用了地址為 0X11A 的記憶體(地址通常用十六進位表示)。另外有一個指標變數 p,它的值為 0X11A,正好等於變數 c

利用C語言實現順序表的執行個體操作_C 語言

本文執行個體講述了C語言實現順序表(線性表)的方法。分享給大家供大家參考,具體如下:一:順序表代碼實現#ifndef _SEQ_LIST_H#define _SEQ_LIST_H#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>#define ElemType float //以float類型測試演算法通用性,而不是以慣用的int#define

C++中sting類的簡單實現方法_C 語言

String在C++的學習生涯我中發現String類的功能十分強大,所以我們是很有必要類比實現它的,況且在面試的時候類比實現一個String類也是面試官經常會考的,但是因為外界因素的限制我們是不可能類比的和庫裡的string一致的(C++庫裡的string功能更強大),所以今天我們只類比實現string的準系統-建構函式,拷貝建構函式,解構函式,賦值運算子多載,運算子+=的重載,運算子[]的重載,c_str(得到一個C風格的字元指標,可操作字串),Size,Push_Back,Insert(深拷

用C語言實現從文字檔中讀取資料後進行排序的功能_C 語言

功能介紹程式的功能是從外部讀取一個包括int型資料的文字檔,然後將它儲存到內部臨時數組,對數組進行排序後,以文本形式輸出到指定的檔案上。因為是int類型的資料,沒有很嚴重的損失精度的問題。正常運行要求:包括資料的源檔案內不能包括其他任何除數字和空白字元(空格,定位字元,分行符號)之外的任何字元,源檔案最開始必須是數字字元,要保證源檔案的資料計數正確。同時保證檔案名稱有效。運行結果data.txt:obj.txt:完整代碼警告:著作權,謹供參考!#include

總頁數: 4314 1 .... 1744 1745 1746 1747 1748 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.