最近因為工作需要,所以又重拾 VM 來架Server,這次挑選的目標就是 Ubuntu 12.0版,結果照表抄課安裝,結果在 安裝 VMware tools時,DVD裝置出現了一個這兩個檔案
VMwareTools-6.0.4-93057.i386.rpm
VMwareTools-6.0.4-93057.tar.gz
OK,看來要自己裝載進去,但......命令列在哪?!
(書上都跟你說 在桌面上方工具列執行「應用程式」>附屬應用程式>終端機,開啟終端機視窗即可.....)
最近因為工作需要,所以又重拾 VM 來架Server,這次挑選的目標就是 Ubuntu 12.0版,結果照表抄課安裝,結果在 安裝 VMware tools時,DVD裝置出現了一個這兩個檔案
VMwareTools-6.0.4-93057.i386.rpm
VMwareTools-6.0.4-93057.tar.gz
OK,看來要自己裝載進去,但......命令列在哪?!
(書上都跟你說 在桌面上方工具列執行「應用程式」>附屬應用程式>終端機,開啟終端機視窗即可.....)
今日再練習LinkList資料結構時,看到了malloc()函式就研究一下
current = (LNode *)malloc(sizeof(LNode));
//動態配置一LNode結構記憶體大小(Byte)並告知其為LNode的指標型態,把記憶體位置記錄在Current
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
typedef struct LNode
{
int data;
struct LNode * rightNode;
} LNode;
int main(int argc, char *argv[])
{
int NewNumber,numIndex ;
LNode * head=NULL;
LNode * current=NULL;
LNode * prev =NULL;
printf("sizeof(LNode *)=%dbyte \n",sizeof(LNode *));
printf("sizeof(LNode)=%dbyte \n",sizeof(LNode));
while(1)
{
printf("請輸入串列資料=");
scanf("%d",&NewNumber);
if (NewNumber==-1)
break;
current = (LNode *)malloc(sizeof(LNode));
assert(current!=NULL);
current->rightNode=NULL;
current->data=NewNumber;
if(head==NULL)
{head = current;}
else
{prev->rightNode=current;}
prev=current;
}
current=head;
numIndex=0;
while(current !=NULL)
{
printf("LinkedList NO=%d ,data=%d, MM=%i \n",++numIndex,current->data,current);
/*用了多次 new / malloc 來做記憶體配置。
在這種狀況下,不能保證這幾次 allocate 到的記憶體會是連續的*/
current=current->rightNode;
}
current =head;
while(current !=NULL)
{
prev=current;
current =current->rightNode;
free(prev);
}
system("PAUSE");
return 0;
}
重點一:syntax:void * malloc(size_t size);
輸入參數: 所需記憶體大小,以byte來計算。
網路上有個叫安德魯的寫過一系列的關於學好 "寫程式" 的想法
看了以後,深覺自己需要在多用功點在基礎上,也把這系列的文章引用至此做紀錄...
===================================================================================
==================================================================================
“完美的演出來自充分的準備”
“勇於改變自己,適應不斷變化的環境,機會將不斷出現”
“快樂及有意義的人生來自於實現自己心中的願望,而非外在的掌聲”
孫振耀先生的人生觀,發人深省的好文,「沒有名片的你代表了什麼」,在這個時間點特別有感覺...
複習資料結構時,遇到一個C語言宣告如下:
typedef struct CSNode{
TElemType data;
struct CSNode *firstchild,*rightsib;
}MyNode , CSTree;
所以就搜尋了一下這要怎麼解釋呢??
首先,先來分析
1.typedef 的用法
// 定義一個已知資料型態的別名,也就是說可以用這個名稱代替設定的資料型態