-
注意符號位
a<<n? ? ?a=a*2^n;
查看全部 -
按位異或作用:(1)定位反轉
(2)數(shù)值交換?
a = a^b;
b = b^a;
a = a^b;
查看全部 -
a為偶數(shù):a&1 == 0
a為奇數(shù):a&1 != 0
查看全部 -
預處理----->編譯----->匯編----->鏈接
查看全部 -
終于看懂了
#define M int main( ,這句話的意思是用 M 代替 "int main( "這一串字符,所以后面的 M) 就相當于?int main()。
查看全部 -
左移n位=*2^n
注意溢出現(xiàn)象——int在移出時符號為被移出。
右移n位=/2^n
查看全部 -
按位異或:按位翻轉;數(shù)值交換(a=a^b; b=b^a; a=a^b;);取反。。。。。。
查看全部 -
按位或的用法:設置指定位置(將指定位置和其的全1或)。。。。。。
查看全部 -
按位與的用處:清零(與全零與);保留特定位;判斷奇偶數(shù)(和1與)。。。。。。
查看全部 -
靜態(tài)數(shù)據(jù)結構:系統(tǒng)自動分配存儲空間——整型、浮點型、數(shù)組。。。
動態(tài)數(shù)據(jù)結構:鏈表
鏈表包括頭文件和元素,頭文件包括地址,元素包括每一個節(jié)點,每一個節(jié)點包括用戶需要的數(shù)據(jù)和下一個節(jié)點的地址(元素地址不定是線性的)
malloc函數(shù)用于分配動態(tài)空間,在頭文件<malloc.h>之下。
查看全部 -
結構體占用的內存空間是字節(jié)對齊的,使計算機可以快速讀寫以空間換取時間:最后一個成員的偏移量+最后一個成員的大小+末尾的填充字節(jié)數(shù)
偏移量是此成員實際首地址和結構體首地址之間的距離;
成員字節(jié)大小,例,int是4字節(jié), char是1字節(jié)
填充字節(jié)數(shù)偏移量不足4的倍數(shù)的,填充。
與結構體不同,共用體和其成員的地址都是一樣的。
查看全部 -
3種調用成員變量的方法:
結構體變量名稱.成員變量名
(*p).成員變量名
p->成員變量名
指針p=weapons;
struct weapon weapons[2]={{"name1",100,200},{"name2",100,200}};
printf("%s\n",p->name);//此時輸出為weapons[0].name,即name1
p++;//指向了weapons[1]
查看全部 -
結構體中的成員變量表示方法:結構體變量名.成員變量名。
結構體數(shù)組每一個元素都是一個結構體類型。
查看全部 -
struct xxx{
};//struct xxx是一個類型的名字,像是int
定義和聲明分離:struct xxx{
};
struct xxx elephant;
定義和聲明一體:struct xxx{
}elephant;
結構體名和結構體變量名一致(只能定義一次):
struct{}elephant;
查看全部 -
本質上是和宏定義類似的關鍵字。
寫法:typedef 原名 別名;
typedef int *p;//int *別名是p
經(jīng)過預處理之后,別名不會被替換
作用域和#define不同,非全局。
查看全部
舉報