#define swap(x,y) (x)=(x)+(y);(y)=(x)-(y);(x)=(x)-(y);
//巨集定義時引數用括號括起來,且表示式之間不要有空格
#define ntbl(table) (sizeof(table)/sizeof(table[0]))
入隊:將元素壓入棧a
出隊:判斷棧b是否為空
如果不為空,則將棧a中所有元素依次pop出並push到棧b
void
foo(
int x,
int y)
所以要加extern 「c」來解決名字匹配問題
#include
#include
using
namespace std;
intinvert
(char
*str)
return num;
}int
main()
void
fun(
int num,
char
*pval)
}for
(j=0
;j<=i;j++
) pval[j]
=strval[i-j]
; pval[j]
='\0'
;}
追逐方式:
int
do_dup
(int a,
int n)
迴圈,移位相加即可。
c+
=n&15
;n=n>>
4;
void
loopmove
(char
*pstr,
int steps)
乙個類包含指標的話,一般會有析構函式,而且要重寫拷貝構造和賦值運算子,因為預設是位址的拷貝和賦值,對指標來說無意義。
class
string
;
a=
3;b=5;
c=a,b;
d=(a,b)
;
執行之後,c=3,d=5.
int i=3;
int j;
j=sizeof
(++i+
++i)
;print
(「i=
%d,j=
%d」,i,j)
;
不一定,可能會溢位。假設a+b溢位,但是c是負數,a+c後再加b就不一定溢位了。
a+b+c一定等於b+a+c
//bool:if(
!var)
//int:
if(var==0)
//float:
const
float var=
0.000001;if
(x>
-var && x//浮點數不能精確到0,所以需要在乙個範圍內近似看做0
//指標:
if(var==
null
)
(1)
void
fun(
char str[
100]
)
原因:陣列做函式形參,會轉化成指標
(2)
void p=
malloc
(100);
sizeof
(p)//4
(3)
int a[
100]
sizeof
(a)//4100
(4)
char
*p=」aaa」
sizeof
(p)=
?//4
面試基礎語言c
1.c 與c的區別 2.如何讓乙個c 程式執行c的程式且不需要對函式進行名字重整extern c 3.指標與引用的區別 4.c 中間的指標傳遞和引用傳遞 5.形參與實參 6.三種傳遞 7.static 8.靜態變數的初始化 9.const 10.指標與const 11.mutable 12.exte...
C語言基礎 2
1.正數的反碼,補碼都等於原碼 負數的補碼等於反碼加一。例 31的補碼 1 原碼 1001 1111 2 反碼 1110 0000 3 補碼 1110 0001 2.計算機中儲存資料用補碼主要是因為 0這個數的原碼和反碼不唯一,出現了bug,而 0補碼是一致的。3.字串以 0 結尾。字元常量 x 字...
c語言基礎2
陣列 定義 型別說明符 陣列名 常量表示式 例如int a 10 陣列中十個元素位元組位址是連續的,10代表陣列的長度,0 9是陣列的下標 在陣列的位址中,由a 0 到a 9 中位址是從低位址到高位址。求陣列中元素的個數大多使用 sizeof a sizeof a 0 關於陣列位址的問題 a 0 代...