學習筆記|(四)c語言和開發準備

一、開發準備

  • 常用命令:

創建文件:vi filename
保存文件::w
關閉文件::q
切換:i/a 可以從命令模式切換到編輯模式,esc可以從編輯模式切換到命令模式
拷貝:yy(拷貝一行)/yw(拷貝一個詞)
粘貼:p
刪除:dd/dw
光標移動:hjkl左下右上
跳到文件頭:gg
跳到文件尾:G
移動到首行:^
移動到行尾:$
按單詞移動:向前w/2w,向後b/2b
查找關鍵字:/key
查找與替換::%s/keyword/替換字/gc
多窗口::split(橫向切成兩半)/vsplit(縱向切成2半)
窗口間跳轉:ctrl+ww(會在兩個窗口直接進行輪訓)/ctrl+w[hjkl]

二、基本類型:

  • short(2個字節16位)、int(4個字節)、long(4個字節)-->非科學計算,建議用整型
  • float(4個字節,低精度)、double(4個字節,高精度)
  • char(1個字符,1個字節,a/b/c)
  • void(無符號型,使用指針的時候才用,指針可以理解爲一個地址)

可以用printf打印:%d整型、%f表示浮點型、%c表示字符型,%p表示地址

三、變量與常量:

  • int a =1;//變量,可以再複製
  • const int b = 2;//常量,值不能改變了
  • 內存管理:


棧區內的內存是系統自動分配的,一般爲4~8M,不會太大,執行一個方法的時候,系統會自動爲他分配內存,然後將它的局部變量等一個一個的壓入棧,方法結束後,再逐一彈出棧,這也就解釋了局部變量是有範圍的;

堆區中的內存需要調用malloc去申請,用完了之後要手動釋放掉,不然會造成內存泄露;如果用了別人的指針,還會造成野指針‘’
分配內存:void* mem = malloc(size);
釋放內存:free(mem);

四、指針(門牌號)與數組

  • 指針就是內存地址 : void*(不關注類型)、char*

1.指針本身可以運算
2.指針所指的內容可以運算
3.函數指針:可以指向不同的函數,得到不同的結果

int add(int a,in b);//聲明一個函數
int (*f)(int ,int);//聲明一個函數指針,**參數和返回結果都要和原函數一樣**
f = add;//將原函數的地址賦給指針f

使用:
f(3,5);
  • 數組:從某個地址開始,連續的類型相同的空間

五、結構體:

struct st{
    int a;//只能定義成員變量,以分號結尾
    int b;//不能定義方法
};//注意這裏有一個分號

使用:
Struct st obj;
obj.a = 10;
enum em{
    red_color = 0,//以,分隔
    blue_color, //後面的值遞增
    yellow_color //最後一個可以不要,
};

使用:
enum em et = blue_color;//值只能是枚舉中的值

六、循環

//1表示永遠爲真
while(1){
    ....
}

七、文件操作

  • 文件類型:FILE* file
  • 打開文件: FILE* fopen(pahh,mode)
  • 關閉文件:fclose(FILE*)
FILE* file;//定義一個文件

file = fopen("1.txt","a+");//打開一個文件,a+表示沒有文件就創建,有就在之前的文件後追加

fwirite("hello!",1,6,file);//寫入文件

rewind(file);//把遊標移到文件的開頭

char buf[1024] = {0, };
fread(file,1,6,buf);//讀取文件

fclose(file);//關閉文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章