Time of Update: 2018-12-05
李華明Himi 原創,轉載務必在明顯處註明:轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/iphone-object/391.html 從這一章開始,Himi將一步一步的帶大家走進Iphone4的開發,當然開發語言則不再是Java,而是Objective-C,簡單來說是C的變種語言;有一定的其他語言基礎的童鞋可以說學習很快,那麼在[Object-C
Time of Update: 2018-12-05
李華明Himi 原創,轉載務必在明顯處註明:轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/iphone-object/395.html 雖然C語言很早就有接觸,也利用C++寫過PC單機遊戲,但是、咳咳,N久沒接觸了,沒辦法,寫點隨筆把~哈哈; 此節簡單寫下Object-C中對於調試列印的常用語句: 簡單類型的定義如下://常用類型的定義int i =10;BOOL isShow=YES;//BOOL
Time of Update: 2018-12-05
李華明Himi 原創,轉載務必在明顯處註明:轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/himistudy/396.html上一小節的隨筆寫了常用的列印以及很基礎的資料類型的定義方式,今天就來一起學習下如何建立類與函數的一些隨筆;首先類的建立:在Xcode下,菜單File-New File,然後出現選擇class模板,如(圖1) 圖1 class 模版選擇介面 這裡不需要手動選擇什麼,,預設是Objective-C
Time of Update: 2018-12-05
李華明Himi 原創,轉載務必在明顯處註明:轉載自【黑米GameDev街區】 原文連結: http://www.himigame.com/iphone-object/401.html這段時間N忙,沒辦法,創業公司,當然抽時間也仍然再自學ios~OK,基礎的語言基礎,我就不多說了,從今天開始直接寫遊戲開發部分了;聲明一點:iOS遊戲開發系列沒有我寫的Android遊戲開發系列有權威性,因為我也是在學習中,只是拿出來給大家分享,希望大家不要較真,現在咱們都是一年級新生,咳咳,好啦,不多說了,下面開
Time of Update: 2018-12-05
// 排序.cpp : 定義控制台應用程式的進入點。//#include "stdio.h"#include "math.h"#include "tchar.h"#define MAX_OF_ARRAY 10int iTemp = 0;int iTimes = 0;//////////////////////////////////////////////////////////交換資料void Change(int *a,int *b){iTemp = *a;*a = *b;*b =
Time of Update: 2018-12-05
今天工作上要用到這些函數,稍微理解了一下這些函數的分別,寫一篇簡短的隨筆:1、char *strcpy(char *dest, char *src); 這個函數把src所指由'\0'結束的字串複製到dest所指的數組中。 src和dest所指記憶體地區不可以重疊且dest必須有足夠的空間來容納src的字串。 當src串長度>dest串長度時,程式仍會將整個src串複製到dest地區,可是dest數組已發生溢出。2、char * strncpy(char *dest, char *src,
Time of Update: 2018-12-05
1)指標運算子* 與取地址運算子&的優先順序相同,按自右向左的方向結合。 設有變數定義語句: int a, *p=&a; 則運算式:&*p 的求值順序為先"*"後"&",即& (*p)=&a=p 。 而運算式:*&a 的求值順序為先"&"後"*",即* (&a)=*p=a 。 (2)"++"、"――"、"*"、"&"的優先順序相同,按自右向左方向結合。下面結合例子加以說明。設有變數定義語句: int a[
Time of Update: 2018-12-05
1、stat結構體結構定義於:/usr/include/sys/stat.h 檔案中 struct stat finfo; stat( sFileName, &finfo ); int size = finfo. st_size; struct stat { mode_t st_mode; //檔案對應的模式,檔案,目錄等 ino_t st_ino; //i-node節點號 dev_t st_dev; //裝置號碼 dev_t st_rdev;
Time of Update: 2018-12-05
回調在C語言中是通過函數指標來實現的,通過將回呼函數的地址傳給被調函數從而實現回調。因此,要實現回調,必須首先定義函數指標,請看下面的例子: void Func(char *s);// 函數原型void (*pFunc) (char *);//函數指標可以看出,函數的定義和函數指標的定義非常類似。 一般的化,為了簡化函數指標類型的變數定義,提高程式的可讀性,我們需要把函數指標類型自訂一下。 typedef void(*pcb)(char
Time of Update: 2018-12-05
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0第一章、快速入門1.1、簡單的C++程式1、main函數是(唯一)被作業系統顯示調用的函數,其傳回值必須是int型。1.2、輸入與輸出1、iostream庫的基礎是istream和ostream兩個類,標準庫中定義了四個IO對象,分別是cin、cout、cerr、clog,其中clog用於產生程式執行的一般資訊。2、對於<<操作符,它接受兩個運算元,左運算元必須是ost
Time of Update: 2018-12-05
/** * 以目標字元分割字串 * @param des 目標字串數組指標 * @param src 要被分割的字串 * @param inter 被什麼字元分割 */void string_segment(char** des, char* src, char inter){int index = 0; //源字串遍曆的索引int fromdes = 0; //目標從哪兒開始複製int count = 0; //被分割的次數while (1){if (*(src+index) ==
Time of Update: 2018-12-05
/*************************************************** * array: *array that to be sorted. * nLength: *length of array * nK: *可能出現的最大數字(對10進位數排序則nK=9).***************************************************/void CountingSort(int array[], size_t nLength,
Time of Update: 2018-12-05
/* * Get the spcific digit of given number. * For example, number 234, *the 0st digit is 4, *the 1st digit is 3, * the 2nd digit is 2, *the 3th digit is 0. */int GetNDigit(int nNumber, int nIdx){for (int i = nIdx; i > 0; i--) {nNumber /=
Time of Update: 2018-12-05
堆排序的基本過程:1. 找到最大的元素,放到最後面去2. 找到第二大的元素,放在倒數第二個位置。。。依次類推,直到所有元素完成排序。其中每一步中,找最大元素的方法是藉助堆。堆可以看成是一個完全二叉樹,且每個節點的值都大於它的子節點的值。對於數組來說,就是任意第[i]個元素大於第[2i+1]和第[2i+2]個元素。為了將無序數組變成堆,需要從葉到根依次建堆。也就是從 從後往前第一個有子節點的節點
Time of Update: 2018-12-05
/* * 用數組實現一個兩端都能插入和刪除操作的雙端隊列 */static const int nLength = 5;static int deque[nLength];static int nIdxHead = 0;static int nIdxTail = 0;enum Err{NoErr,errOverFlow,errUnderFlow,};// 頭進隊Err EnDequeHead(int x){if (((nIdxHead + nLength - 1) % nLength) ==
Time of Update: 2018-12-05
// 單向掃描就地重排int Partitation_1Way(int array[], int nIdxLeft, int nIdxRight){assert(NULL != array);if (nIdxLeft == nIdxRight)return nIdxLeft;// Take the last element as middle value.int nMiddleVal = array[nIdxRight];int nIdxSmall = nIdxLeft - 1;//
Time of Update: 2018-12-05
ARM C編程 1、訪問絕對位址的記憶體位置: #define pISR_EINT0 (*(unsigned *) (_ISR_STRATADDRESS+0x74)) 上述語句把不帶正負號的整數_ISR_STRATADDRESS+0x74強制轉換為指標,指向RAM,用下面的語句可以訪問它:pISR_EINT0 = (int)Eint0_ISR 為了訪問一個絕對位址,把一個整形數強制轉換(typecast)為一指標。2、__irq:
Time of Update: 2018-12-05
extern a; 它的作用就是告訴編譯器這個變數是在其他檔案中定義的(是外援),要是在本檔案中看到它的名字千萬別奇怪。 編譯器是相信同夥的,所以在編譯的時候要是看到a變數時會認為它是存在,不會報錯。只有在連結的時候連結器才會去其它obj檔案中尋找a變數的定義(地址),找到則順利連結,否則報錯。因為編譯器只需要知道extern所聲明變數的名字就可以了,所以extern int a可以寫成 extern
Time of Update: 2018-12-05
做測試的時候老是不知道cout什麼的是什麼意思 專門找了下 原來引入這個東西就是為了在大項目的時候減少了相同命名變數的衝突for example:#include <iostream> namespace a{ int b=5;}namespace c { int b=8;}int main(){ int b=9; std::cout<<b<<" "<<a::b<<"
Time of Update: 2018-12-05
堆的理解: 堆是一大堆不連續的記憶體地區,在系統中由列表將他們串接起來,為了資料隱蔽,堆中的每個單元記憶體都是匿名的,因此你必須先在堆中申請一個記憶體單元地址,然後把他儲存在一個指標中,這樣你只有使用指標才可以訪問到該記憶體單元的內容.堆的好處: 1:可以儲存比較大的資料 2:程式員自己控制建立和釋放 3:只有特定的指標才能訪問特定的資料,這樣就避免了任何試圖修改他的操作做法: