swift 與 指標初級使用

2022-08-01 08:09:10 字數 1069 閱讀 1498

swift 裡面對應c 的基礎型別前面加c,cint、cbool和cchar

unsafepointer對應c的 const char *;常量指標不可變

unsafemutablepointer對應c的 char *;可變指標

下面第一行為string 轉 char*;第二行為char* 轉string

let sss = unsafepointer("

char string..

".cstringusingencoding(nsutf8stringencoding))

print(string.fromcstring(sss))

比如下面使用c語言objc/runtime遍歷當前類中所有成員變數,使用了unsafemutablepointer,對應c裡面 unsigned int *varcount

let varcount:unsafemutablepointer= unsafemutablepointer.alloc(1

)varcount.initialize(0)

let classvars =class_copyivarlist(self.classforcoder, varcount)

for i in

0 ... (int(varcount.memory)-1

)free(classvars)

用oc翻譯過來可以這樣寫

unsigned count = 0

;ivar *vars = class_copyivarlist(c, &count);

for (int i = 0; i < count; i++)

free(vars);

swift中unsafepointer可以用.memory取得指標指向的值

let ss: unsafepointer= unsafepointer("b"

.cstringusingencoding(nsutf8stringencoding))

nslog(

"%c-%d

", 67, ss.memory)

swift 初級 函式

函式 有返回值 的定義格式 注意 無論函式有無形參,必須得有 func 函式名 形參列表 返回值型別 比如func sum num1 int,num2 int int 沒有返回值的函式 有三種寫法 func 函式名 形參列表 void 比如func text1 sum1 int void 稍微簡單點...

指標變數 初級

1.通過位址能找到所需的變數單元,位址指向該單元變數。2.乙個變數的位址稱為該變數的 指標 3.乙個變數專門存放另乙個變數位址 即指標 稱為 指標變數 4.定義指標變數一般形式 int pointer 1,pointer 2 int為基型別 指標變數可指向的變數型別。5.指標變數前面的 表示為該變數...

C初級 指標

2.2.指標定義和使用方式 3.拓展知識 4.例項 遞迴就是一層層的進行計算 例如 求 123 n 的值 int fun int n 2.1.記憶體位址和指標 2.1.2 指標說明 2.2.指標定義和使用方式 2.2.1 指標定義格式 int p 表示定義了乙個名為p的短整型指標變數2.2.2 針涉...