關於C 中typedef操作符的疑問

2022-09-17 16:29:11 字數 951 閱讀 6231

1樓:

普通的變數定義一般是這樣:

type var;

比如int n;

那如果在前面加上typedef則表示型別定義,如typedef int n;這裡的n不在是變數,而是型別,可以用它定義變數,如n i;則告訴編譯器i的型別為和n的型別一樣(在不加typedef的時候)

同理,在你的問題中如果去掉typedef,則為int (*functor) (int a,int b),樓主明白這樣的functor是什麼意思吧,它是一個函式指標,指向的函式返回型別為int,引數型別為int,int。那如前所述,加上typedef之後它變成一個型別,用它定義的變數型別和不加typedef時functor的型別一樣,如functor fp;fp便是一個函式指標,指向的函式返回型別為int,引數型別為int,int。

這樣定義的一個好處就是直觀清晰。

2樓:

還沒見過這樣用的。

typedef 是宣告別名的。

如typedef int a;

a即為整型的別名。

typedef int *a;

定義a為整型指標的別名。

期待高手的回答。。。

3樓:匿名使用者

自定義一個函式指標,

這個指標指向一類函式,這類函式有兩個int型的入參,同時返回值為int。

指標名叫functor.

函式的使用:

int myone(int x,int y);

int mytwo(int x,int y);

typedef int (*functor) (int a,int b);

functor = myone;

int s = functor(10,20);

functor = mytwo;

int m = fnnctor(30,40);

c 中的用法,C 操作符 用法

在c 裡,除了c語言的功能之外,還代表 引用 只能在建立變數的時候使用,格式是 型別 變數名 另一個變數。如 inta 0,b a,c 宣告三個變數a b c,b和a等價,c是獨立的變數注意 型別識別符號是指目標變數 等於號右邊 的型別。宣告引用時,必須同時對其進行初始化,不能讓他指向其他變數。引用...

c關於運算子優先順序,c中的運算子優先順序順序是什麼

因為 只是在這copy條語句結束後才 1,假設a 0,則a a 等同於0 0,當然是錯的了,但是現在a的值變為1 補充一點,c 不提倡在同一語句當中多次修改同一個變數的值,樓主知道怎麼回事就行了,有些跟編譯器有關 後置自加是 先取值,變數才加 所以a a 中,大於運算子比較的是相同的值。a a 等價...

關於c 中的運算,C 中的 運算子是什麼意思,請舉例

是異或符號,交換作用的語句是a a b b b a a a b 第一句以後a的值為a b,當b a的時候相當於b a b b b a,因為異或的性質所以b b a a,所以b就等於了a,然後a b就相當於a b a b,這樣a,b的值就交換了 按位異或 運算 xor 000010 100010 10...