別樣的c語言

2021-06-26 06:41:08 字數 1009 閱讀 2602

1. c語言中不常見的符號的優先順序:

(1). 符號.的優先順序高於符號*,所以*p.f應該寫作(*p).f。

(2). 符號的優先順序高於符號*,所以int *p和int (*p)是兩種不同的陣列,前者是int *型別的陣列而後者是int型陣列(該陣列是二維陣列)。

int a = 1;

int *b = &a;

int c[2][2] = ,};

int *p[2] = ;

int (*op)[2];

op = c;

printf( "陣列p裡面的指標元素所指向的內容:%d %d\n",*p[0], *p[1] );

printf( "陣列op實際上是乙個n行2列的二維陣列的指標:%d %d\n", op[0], op[1] );

(3). 符號()的優先順序高於符號*,所以int *f()是乙個名為f且返回指標是int *型別變數的函式,int (*f)()是乙個函式的指標。

(4). 符號==和!=的優先順序高於賦值語句。

2. c裡面一些生僻的宣告:

(1). int (* f())()乙個返回型別為函式指標的函式。

(2). int (* f())[m]返回乙個n行m列陣列的指標,即int (*)型別變數。

(3). int (* f)()是乙個陣列,乙個儲存返回值為int型別且引數為空的函式的函式指標的陣列。

3. 函式指標:

(1). 函式指標的作用:

作為引數傳遞給其他函式

作為函式的返回值

儲存在陣列之中

指向另外乙個函式

呼叫底層函式

(2). 函式指標應該和它所指向的函式是相容的,函式指標宣告的具體格式為「指向函式返回值型別 (*f)(指向函式的引數)」。

(3). 指標賦值方式:

顯式轉換:f = &func;(func是函式,f為函式指標)

隱式轉換:f = func;

(4). 指標函式的呼叫:

顯示呼叫:*f();

隱式呼叫:f();

窺探Swift之別樣的列舉型別

想必寫過程式的童鞋對列舉型別並不陌生吧,使用列舉型別的好處是多多的,在這兒就不做過多的贅述了。fundation框架和uikit中的列舉更是數不勝數,列舉可以使你的 更易閱讀並且可以提高可維護性。在swift語言中的列舉可謂是讓人眼前一亮。在swift中的列舉不僅保留了大部分程式語言中列舉的特性,同...

窺探Swift之別樣的列舉型別

想必寫過程式的童鞋對列舉型別並不陌生吧,使用列舉型別的好處是多多的,在這兒就不做過多的贅述了。fundation框架和uikit中的列舉更是數不勝數,列舉可以使你的 更易閱讀並且可以提高可維護性。在swift語言中的列舉可謂是讓人眼前一亮。在swift中的列舉不僅保留了大部分程式語言中列舉的特性,同...

窺探Swift之別樣的列舉型別

想必寫過程式的童鞋對列舉型別並不陌生吧,使用列舉型別的好處是多多的,在這兒就不做過多的贅述了。fundation框架和uikit中的列舉更是數不勝數,列舉可以使你的 更易閱讀並且可以提高可維護性。在swift語言中的列舉可謂是讓人眼前一亮。在swift中的列舉不僅保留了大部分程式語言中列舉的特性,同...