之前寫過一篇《php 使用異或(XOR)加密/解密文件》,但php執行的速度很慢,因此這次使用C重寫,速度有很大的提高。xor_encrypt.c/** XOR
數組作為存放同類數據的集合,給我們在程序設計時帶來很多的方便,增加了靈活性。但數組也同樣存在一些弊病。如數組的大小在定義時要事先規定,不能在程序中進行調整,這樣
一、單鏈表的建立有了動態內存分配的基礎,要實現鏈表就不難了。所謂鏈表,就是用一組任意的存儲單元存儲線性表元素的一種數據結構。鏈表又分為單鏈表、雙向鏈表和循環鏈表
3、刪除假如我們已經知道了要刪除的結點p的位置,那麼要刪除p結點時只要令p結點的前驅結點的鏈域由存儲p結點的地址該為存儲p的後繼結點的地址,並回收p結點即可。以
3、刪除刪除某個結點,其實就是插入某個結點的逆操作。還是對於雙向循環鏈表,要在連續的三個結點s,p,q中刪除p結點,只需把s的右鏈域指針指向q,q的左鏈域指針指
在這裡列舉了一個應用單鏈表基本算法的綜合程序,雙向鏈表和循環鏈表的綜合程序大家可以自己去試一試。#include <stdio.h>#include
單個的結構體類型變量在解決實際問題時作用不大,一般是以結構體類型數組的形式出現。結構體類型數組的定義形式為:struct stu / *定義學生結構體類型* /
指針變量非常靈活方便,可以指向任一類型的變量,若定義指針變量指向結構體類型變量,則可以通過指針來引用結構體類型變量。7.3.1 指向結構體類型變量的使用首先讓我
變量在內存存放是有地址的,數組在內存存放也同樣具有地址。對數組來說,數組名就是數組在內存安放的首地址。指針變量是用於存放變量的地址,可以指向變量,當然也可存放數
[例6-11]用指針法輸入輸出二維數組各元素。#include<stdio.h>main(){int a[3][4],*ptr;int i,j;pt
圖6-16中,argv[0]是程序名,argv[1]是r1的值,argv[2]是rs的值,argv[3]是屏幕的背景色。由於指針數組均存放字符串,所需的圓半徑及
3.3.2switch語句if語句只能處理從兩者間選擇之一,當要實現幾種可能之一時,就要用if...elseif甚至多重的嵌套if來實現,當分支較多時,程序變得
C程序的源代碼中可包括各種編譯指令,這些指令稱為預處理命令。雖然它們實際上不是C語言的一部分,但卻擴展了C程序設計的環境。本節將介紹如何應用預處理程序和注釋簡化
3.2.2 printf()函數與格式化輸入函數scanf()相對應的是格式化輸出函數printf(),其功能為按控制字符串規定的格式,向缺省輸出設備(一般為顯
“語言的作用域規則”是一組確定一部分代碼是否“可見”或可訪問另一部分代碼和數據的規則。C語言中的每一個函數都是一
C語言的數據類型在第一課中,我們已經看到程序中使用的各種變量都應預先加以說明,即先說明,後使用。對變量的說明可以包括三個方面:·數據類型&midd
在程序中是根據前綴來區分各種進制數的。因此在書寫常數時不要把前綴弄錯造成結果不正確。4.整型常數的後綴在16位字長的機器上,基本整型的長度也為16位,因此表示的
字符型量字符型量包括字符常量和字符變量。字符常量字符常量是用單引號括起來的一個字符。例如a,b,=,+,?都是合法字符常量。在C語言中,字符常量有以下特點: 1
算術表達式是由算術運算符和括號連接起來的式子, 以下是算術表達式的例子: a+b (a*2)/c (x+r)*8-(a+b)/7 ++i sin(x)+sin(
格式字符串格式字符串的一般形式為: %[*][輸入數據寬度][長度]類型 其中有方括號[]的項為任選項。各項的意義如下:1.類型表示輸入數據的類型,其格式符和意