C函式筆記簡概

2021-10-05 17:11:49 字數 1460 閱讀 4296

void

*memset

(void

*s,int ch, size_t n)

;或

主要作用,對較大的結構組或陣列清零或賦初值(0); 原文拓展

void

srand

(unsigned seed)

;int

rand

(void);

time(null) 的結果是乙個類似於 1524655706 的數字,並且每秒都在遞增 1,也就達成了 srand() 的 seed

不斷變化的目的,不斷生成新的隨機數。

主要作用:

srand+time(0)提供隨機種子

rand生成隨機數

因為,對於任意數,0<=rand()%(n-m+1)<=n-m

因此,0+m<=rand()%(n-m+1)+m<=n-m+m

因此,如要產生[m,n]範圍內的隨機數num,

可用:int num=rand()%(n-m+1)+m;原文拓展

void

qsort

(void

* base,size_t num,size_t width,

int(__cdecl*compare)

(const

void*,

const

void*)

);

根據二分法寫的,其時間複雜度為n*log(n))

功能: 使用快速排序例程進行排序.

各引數:

base : 待排序陣列首位址,通常該位置傳入的是乙個陣列名

num: 該陣列的元素個數

width: 該陣列中每個元素的大小(位元組數)

(*compare)(const void *, const void *) : 此為指向比較函式的函式指標,決定了排序的順序。正序或倒序。

//c語言

//compare的建立

int

compare

(const

void

* min,

const

void

* max)

//這是乙個 int 型別的函式。你需要根據陣列的型別來修改這個函式的型別

!!!!正確編寫compare函式是實現qsort主要的環節 !!!!

qsort中幾種常見的比較函式cmp:

void

assert

(int expression )

;

assert的作用是現計算表示式 expression ,如果其值為假(即為0),那麼它先向stderr列印一條出錯資訊,然後通過呼叫 abort 來終止程式執行。原文拓展

C 函式 筆記

內聯函式只適用於小函式,使用內聯函式需要注意以下幾點 內聯函式中不能含有任何迴圈語句以及switch和goto語句 內聯函式的宣告必須出現在內聯函式第一次被呼叫之前 內聯函式中不能說明陣列 遞迴函式不能定義為內聯函式 函式過載 函式引數個數或型別不同,可以構成過載函式 生命期 是指乙個識別符號從被建...

C 函式筆記

函式的呼叫需要完成兩項工作 一 實參初始化物件的形參 二 將控制權交給函式,主調函式中斷,被調函式執行。函式的返回型別不能是陣列。陣列不可以做函式返值的原因在於,函式的返值是賦值傳遞的,而陣列不可以進行簡單賦值。也就是函式的返回值是簡單的臨時變數方法,所以不支援是陣列。當然,函式不能返回函式,雖然不...

C 函式筆記

在c 中,函式的形參列表中的形參是可以有預設值的。語法 返回值型別 函式名 引數 預設值 示例 int func int a,int b 10,int c 10 1.如果某個位置引數有預設值,那麼從這個位置往後,從左向右,必須都要有預設值 2.如果函式宣告有預設值,函式實現的時候就不能有預設引數 i...