符號常量為:#define
c++中推薦使用const常量
^表示位異或,即相同為0,不同為1
將整個陣列賦值為0:
int a[10]=;
//或是
int a[10]={};
sscanf(str,"%d",&n); //從左到右,將字元陣列str中的內容以%d的形勢下寫到n中
sprintf(str,"%d",&n); //從右到左,把n以%d的格式寫到str字元陣列中
二維陣列作為引數時,第一維不需要填寫長度,第二維需要填寫長度,如:
void change(int b[5]){}
指標作為引數時候,若要交換指標中存放的位址(此時相當於傳入乙個位址變數,而不是指標),則要用二級指標才能改變,若要交換指標中存放的位址的內容(此時相當於乙個指標),以及指標就可以改變。總之,該位址要用二級指標,改內容要用以及指標。
注意:引用僅對變數作用,常量不可使用。
例如函式swap不可以穿入位址常量,如swap(&a,&b),應該先用指標變數p1和p2存放這兩個位址。
指標的引用(即改變指標的指向)除了用二級指標還可以用引用:int* &a(把int*看成類似int的資料型別)
(1)結構體中不能定義自己本身,但可以定義自身型別的指標變數(如常用的next指標)
(2)使用建構函式初始化結構體
student(){} //預設生成的建構函式
student(int _id,char _gender):id(_id),gender(_gender){} //自己的建構函式
注意:一旦定義了自己的建構函式,預設建構函式就會被覆蓋,就不能只定義不賦值。如:student st;這時候可以手動加上預設的建構函式。
11.浮點數的比較
簡單的浮點數比較可以使用「==」,但是一旦經過複雜的運算之後,精讀損失不能忽略,因此可以將比較操作寫成巨集定義。
const double eps=1e-8; //誤差
#define equ(a,b) ((fabs((a)-(b)))<(eps)) //浮點數的等於比較
#define more(a,b) ((fabs(a)-(b))>(eps)) //浮點數的大於比較
#define less(a,b) ((fabs(a)-(b))<(-eps)) //浮點數的小於比較
#define moreequ(a,b) ((fabs(a)-(b))>(-eps)) //浮點數的大於等於
#define lessequ(a,b) ((fabs(a)-(b))<(eps)) //浮點數的小於等於
const double pi=acos(-1.0);
一般oj系統一秒能承受的運算次數大概是10的7次方到10的8次方,此時若o(n²)的n的規模為1000是可以承受的。oj中空間一般夠用,所以常常採用空間換時間的策略。 php的一些易錯點
1.單引號與雙引號的區別 一般用單引號或雙引號標識乙個字串。單引號串與雙引號串,在php中的處理是不同的。雙引號中的內容可以被解釋並被替換,單引號串中的內容則被作為普通字元處理。例如 注 單引號中輸出的內容是 所見即所得 的,無論有無變數,都被當做普通字元原樣輸出。說明 在定義簡單的字串時,使用單引...
Python一些易錯的點
1.int float 這些不是真正意義上的函式,而是建立物件的構造方法,也不是c 語言中的強制型別轉換。2.python函式中的可變引數有兩種,一種是加 一種是加上兩個 前者是解包元祖,後者是解包字典。傳入的時候要注意使用 和 def a arg print arg if name main ar...
php的一些易錯點
一般用單引號或雙引號標識乙個字串。單引號串與雙引號串,在php中的處理是不同的。雙引號中的內容可以被解釋並被替換,單引號串中的內容則被作為普通字元處理。例如 str 6 echo str is str n echo str is str n 注 單引號中輸出的內容是 所見即所得 的,無論有無變數,都...