夕口技術錄

專業上的小常識,備而用之~

Category Archives: C

[C] – malloc 函數

malloc()是C語言裡宣告動態記憶體的函式.
也就是說malloc()是C語言裡像電腦要/借記憶體的函式.
此函數有一個引數, 就是告訴電腦你要/借多少個記憶體.
比如說

malloc(sizeof(char))就是告訴電腦你要/借1個byte的記憶體
malloc(sizeof(int))就是告訴電腦你要/借4個byte的記憶體
malloc(sizeof(int) * 10)就是告訴電腦你要/借4*10=40個byte的記憶體

malloc()會回傳兩種答案.
1. NULL, 這表示電腦已經沒記憶體可以借給你了.
2. 不是NULL. 這表示電腦有記憶體可以借你. 回傳的是電腦借給你的記憶體的住址.

因malloc()不知你要如何用借來的記憶體, 所以malloc()的回傳型態是void *.
一個void的指標. 所以當你呼叫malloc()時要把malloc()回傳值改為你要的型態.

例:
//用malloc()像電腦借4*20=80個記憶體. 之後把這80個記憶體改成(int *).
//所以換句話說是像電腦借一個有20個int的陣列.
int *a;
a = (int *) malloc(sizeof(int) * 20);

//用malloc()像電腦借1*11=11個記憶體. 之後把這11個記憶體改成(char *).
//所以換句話說是像電腦借一個有11個char的陣列. 有11個字元的字串
char *a;
a = (int *) malloc(sizeof(char) * 11);

[C] – malloc 函數

[Linux][kill] – 檢查 pid 是否有在運作

Linux 下检查 PID 是否存在

  1. kill -0 pid

对于信号“0”的解释:exit code indicates if a signal may be sent

C 语言里就是

  1. kill (pid, 0)

[C][system] – 執行 linux shell 命令

/* system example : DIR */
#include <stdio.h>
#include <stdlib.h>

int main ()
{
  int i;
  printf ("Checking if processor is available...");
  if (system(NULL)) puts ("Ok");
    else exit (1);
  printf ("Executing command DIR...\n");
  i=system ("dir");
  printf ("The value returned was: %d.\n",i);
  return 0;
}

資料來源

[C&C++][編譯器] – Dev-C++ 4.9.9.2

Dev-C++ 4.9.9.2 簡介

這是一套免費並且開放原始碼的C++程式設計軟體,附上GNU GCC編譯器,體積小功能強大!! 。它包括多頁面視窗、工程編輯器,在工程編輯器中集合了編輯器、編譯器、連接程式和執行程式。也提供高亮度語法顯示的,以減少編輯錯誤。

下載 Dev-C++ 5.0 beta 9.2 (4.9.9.2)

若要改成繁體中文的操作界面, 請依下面的步驟操作

  1. 輸入 ALT+T
  2. 再輸入 V
  3. 用滑點選第二個標籤
  4. 這時候會看到一個 Language 的選項, 選 Chinese(TW)
  5. 用滑點選有打勾的圖示即可

安裝完可下載這個 hello.cpp 測試看看, 若能成功地執行, 那就表示安裝成功了

若需要更多的資訊,請到 Dev-C++ 的官方網站 查詢相關訊息