歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C語言知識總結

C語言知識總結

日期:2017/3/1 9:35:52   编辑:Linux編程

C語言知識總結(近期筆試遇到的,銳捷,多米)

1. argv 最後一個元素是空指針! 比如ls -l remind 分別是argv[0] argv[1] argv[2] argv[3]為空指針

2. strcpy(char *s1,const char *s2)將s2中的字符復制到s1中直到s2遇到第一個空字符為止,並且s2的結束字符也復制進去了!!!

3. char 分為unsigned 無符號與有符號,int 4 float 4 double 8 short 2

4.

struct {
int i;
char c;
enum suit{one,two,three,five,aaa};//這裡定義了變量‘;’前面加上a
char cc;
}node;

其中枚舉是不占空間的,這裡有沒有枚舉sizeof(node)結果都是8,但是如果enum定義了變量a,那麼將增加8字節

但是單獨sizeof(suit)的結果是4;

如果是聯合union,那麼要算聯合裡面單個最大字節的那個;如果第一次給它賦值後再給它賦值,那麼先前的值就不存在了!比如union裡面有int,float,double,給double,然後給int,那麼double就不存在了,輸出不確定的值。

5.以防包含重復的頭文件,還可以用#pragma + 命令 表示只執行一次

#ifndef _MAIN_
#define _MAIN_

#endif

6.函數指針

int (*funArr[10])(float, char, char)
int result2 =(*funArr[0]) (12, 'a', 'b')

這是定義一個數組10個成員,每個成員是一個函數指針,參數為float,char,char,返回為int

7.對於整數數組可以通過sizeof(arr)/sizeof(int)來計算個數,字符串直接判斷結尾字符即可

8.0的ASCII對應的是48,A對應的是65,a對應的是97,這個要牢記

9.局部變量與全局變量,局部變量所在的范圍內會覆蓋全局變量

10.cin使用空白來定字符串的界(空格,制表符,換行符),也就是只會讀取第一個單詞,遇到空白就結束。所以需要使用面向行的類成員函數,getline(),裡面參數是數組名,數組長度。通過回車符判斷輸入結束。

11.結構中的位字段

struct {
unsigned int age:4; //低4位
unsigned int in:4; //接著4位
bool ismax:1;
};

這樣可以節約空間。

12.指針一定要在解引用之前給一個確定的地址。

13.引用本身不占空間

C++ Primer Plus 第6版 中文版 清晰有書簽PDF+源代碼 http://www.linuxidc.com/Linux/2014-05/101227.htm

讀C++ Primer 之構造函數陷阱 http://www.linuxidc.com/Linux/2011-08/40176.htm

讀C++ Primer 之智能指針 http://www.linuxidc.com/Linux/2011-08/40177.htm

讀C++ Primer 之句柄類 http://www.linuxidc.com/Linux/2011-08/40175.htm

將C語言梳理一下,分布在以下10個章節中:

  1. Linux-C成長之路(一):Linux下C編程概要 http://www.linuxidc.com/Linux/2014-05/101242.htm
  2. Linux-C成長之路(二):基本數據類型 http://www.linuxidc.com/Linux/2014-05/101242p2.htm
  3. Linux-C成長之路(三):基本IO函數操作 http://www.linuxidc.com/Linux/2014-05/101242p3.htm
  4. Linux-C成長之路(四):運算符 http://www.linuxidc.com/Linux/2014-05/101242p4.htm
  5. Linux-C成長之路(五):控制流 http://www.linuxidc.com/Linux/2014-05/101242p5.htm
  6. Linux-C成長之路(六):函數要義 http://www.linuxidc.com/Linux/2014-05/101242p6.htm
  7. Linux-C成長之路(七):數組與指針 http://www.linuxidc.com/Linux/2014-05/101242p7.htm
  8. Linux-C成長之路(八):存儲類,動態內存 http://www.linuxidc.com/Linux/2014-05/101242p8.htm
  9. Linux-C成長之路(九):復合數據類型 http://www.linuxidc.com/Linux/2014-05/101242p9.htm
  10. Linux-C成長之路(十):其他高級議題

Copyright © Linux教程網 All Rights Reserved