看到一哥們寫的筆記,感覺不錯就拿過來了。本想加到網摘裡邊,可搗騰了半天就沒有發現加網摘的鏈結,最後還是寫到自己的部落格中吧!
總結1:
char *ch ="12345"; <=> char ch = "12345"; <=> char ch = ; (puts /printf(%s))<=>char ch = ;(必須有單引號)
scanf("%[^'/n']",a); <=> gets(a);(空格也會錄入,直到回車)
總結2:
sscanf()函式和sprintf()函式
大家知道fprintf是對檔案進行輸出,而f對應file,這裡的s對應string,也就是sprintf的輸出物件是字串,這個函式就可以把整型轉化為字串,而sscanf則是以字串為輸入物件,可以把字串轉化為如數字
例子:int n;char s="1234";
sscanf(s,"%d",&n);這樣n的值就是1234
總結3:
字串處理庫
(1)memset(陣列名 ,要初始化的數, 陣列長度) //陣列初始化
例子:把a陣列清0
memset(a,0,sizeof(a));注意這裡面引數順序和fillchar的區別,前面說過mem*系列是把陣列當成了字串來處理,所以處理的物件是每個位元組,所以如果是int陣列,除了清0和全部清為-1以外(-1的補碼是全1), 其它初始化操作慎用.
(2)memcpy(目標陣列, 被拷貝陣列, 要拷貝長度)
陣列複製,
c語言中不提供直接的等號陣列複製,但是通過它能夠快速複製陣列
例子:把a複製到b中
memcpy(b,a,sizeof(a));//a相當於點,sizeof(a)相當於長度,兩個確定了一條資料線,可以平移到b
(3)memcmp(陣列1,陣列2,要比較長度l)
陣列比較,:把兩陣列的前l個位元組看成是兩個字串做strcmp一樣的比較
該函式在一些陣列比較判重的時候比較高效率
(4)memmove(目標陣列,被拷貝陣列,要拷貝長度)
陣列複製,它和memcpy不同的是兩陣列可以有重疊部分,也就是可以實現fp中move的作用
例子:把a從第a[i]個開始後面的k個資料都後移一位
memmove(a+i+1,a+i,sizeof(a[0])*k);
標準函式庫
(1)abs函式,這是乙個取絕對值的函式,但是要注意它和pascal中abs函式的區別,在c中的abs函式只適用於整型,而實型變數取絕對值則需要中的fabs
(2)快排函式qsort():
void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );
/* qsort example */
#include
#include
int values = ;
int compare (const void * a, const void * b)
int main ()
output:
10 20 25 40 90 100
(3)隨機數產生函式rand():
/* rand example: guess the number */
#include
#include
#include
int main ()
while (isecret!=iguess);
puts ("congratulations!");
return 0;
}output:
guess the number (1 to 10): 5
the secret number is higherguess the number (1 to 10): 8
the secret number is lowerguess the number (1 to 10): 7
congratulations!
(4)這個庫裡面沒有函式,但是有一些常用的極限,比如int_max(int變數的上限)long_max,ulong_max(unsigned long的上限)等等,是很有用的
總結4:
int (*(*a)(int (*)[10][20],int))[10];//右左法則
總結5:
const void *p; <=>void const *p; /*常量指標,與常引用相似,不能通過指標改變指向的資料,中心語為指標,所以可以先定義,後賦值,強調指向的內容為「常量」*/
void * const p;/*指標常量,與指標變數相對,不能改變指標的指向)*/
const void *const p; <=> void const *const p;/*指向常量的常指標*/
關於C語言的一些總結
最近看了一些書籍,總結一下程式設計師容易忽略的程式設計細節吧,對面試還是考試有幫助的,不斷更新中。1.sizeof 想必大家都知道這個關鍵字吧,不是函式哦,凡是在c c 編輯器了有和其它關鍵字有相同顏色的單詞都是關鍵字,這是乙個計算型別或者變數在記憶體中的佔位大小,當是型別時如sizeof int ...
C 關於多型的一些總結
多型按字面的意思就是多種形態。當類之間存在層次結構,並且類之間是通過繼承關聯時,就會用到多型。c 多型意味著呼叫成員函式時,會根據呼叫函式的物件的型別來執行不同的函式。1 什麼是多型 2 多型有什麼用 3 多型的原理是什麼 4 如何實現多型 5 c 的純虛函式 2 多型是物件導向的重要技術之一,它是...
關於C語言大作業的一些提示和一些C語言的庫函式
1 俄羅斯方塊的基本方塊由以下7種組成 也可以自行增加種類 可使用乙個三維的陣列來表示這七種基礎方塊。庫是c c 中的日期和時間標頭檔案。用於需要時間方面的函式。用於生成隨機數。srand函式隨機數發生器的初始化函式,使用的時候用rand i函式獲得0 i 1之間的隨機數,其中i為整數 一般初始化 ...