1樓:
typedef是為型別起一個別名,一般是為較長的型別起一個較短的別名,方便使用。
使用格式:
typedef 原型別 原型別別名
定義之後,就可以用型別別名定義變數,而不用寫原型別了。綜上所述,語句:
typedef t *qsharedpointer:: *restrictedbool;
是為「t *qsharedpointer::」型別起了一個「*restrictedbool」的別名,可以用後者代替前者定義變數。
2樓:
就是將*qsharedpointer命名為*restrictedbool
c++中typedef是什麼意思啊
3樓:搜虎哈哈
c++中typedef為c語言的關鍵字,其作用是給某種資料型別定義一個新的名字。關於typedef的更多介紹如下:
1.在c語言程式設計中,可以使用【typedef】關鍵字來重新命名一個資料型別,這裡指的資料型別包括基本資料型別如int ,char,double等和結構資料型別struct等。
2.使用typedef的目的主要有兩個,其一是為了讓自己在後續程式設計時方便記住變數的名字,其二是為了簡化一些變數名稱較長的名字。
3.常見的用法如下:
該**中,使用status來代替int的表達,使用date來代替double的表達。
4樓:
c/c++語言中,typedef 是一個用於自定義變數型別名的預定義識別符號。用它定義的自定義型別名可以用到程式中。
例如:如果有語句
typedef int num;
則語句num a = 5;
等價於語句
int a = 5;
可以用自定義的型別名取代預定義變數型別識別符號。一般在主函式以外進行定義。
5樓:匿名使用者
typedef型別定義,就是把struct msg這種型別定義為msg型別。
6樓:
typedef dword (pascal *pp)(gg);
typedef struct msg
msg, *gg;
把msg定義成結構 struct msg
gg定義成結構指標 struct msg*;
把 pp定義成 dword (pascal *)(gg); 函式指標型別
typedef定義一個使用者命名的型別,
可以 用一個有意義的名字命名.
7樓:潘達
型別定義關鍵字,他用來定義一個型別。。。。
typedef unsigned int uint;
如果你寫這一句話,就定義了一個型別,他的名字是uint 代表無符號數,之後你可以用
uint i;來定義一個無符號數。。。。
你得這句話是定義了一個結構型別,型別名就是msg;
以後你要建立一個這樣的結構體只需要msg a;即可,如果沒有定義,你就只能寫成
struct msg a;
typedef 的用法是 typedef 要定義的型別 使用的型別名;
typdef語句使用後就定義了一個新的型別名用來代替原來的型別,之後就可以使用這個型別,
比如 typdef int i;
i j;
這就定義了一個型別名叫i; 他是int型的,第二句是宣告一個i型別的變數j;
8樓:匿名使用者
typedef a b
就是說 我給a型別一個別名 稱為b
這個typedef看上去比較雞肋 其實有3種用法1。你可能定義結構體structure或者類class,那麼每次申明新的結構體或類時你要重複寫關鍵字,而且名字比較長,很煩人,就可以用typedef,給一個簡短的名字。舉例struct st
你每次申明都要 struct st a; struct st b;很煩,特別是st的名字很長。你可以typedef struct st mytype。之後就可以mytype a,b;這樣方便了。
2。便於後期修改。舉例:
你可以有個很多物件是int型的,那麼你在第1次寫程式的時候頻繁地寫int a;........int b;......int c;這樣,但是後期你發現要修改程式從int變到char。
難道你每個變數申明的int關鍵字都修改一次?這樣顯然很2,你可以typedef int mytype,申明mytype a;.....mytype b;這樣。
你要轉成char 只要把typedef int mytype換成typedef char mytype就可以。很方便。
3。多人協同開發時可以實現定義好型別名,方便開發。
c++中的typedef關鍵字有什麼作用?
9樓:匿名使用者
就是type和define的合稱,型別定義.主要是用來定義一個型別的.簡單點說
typedef unsigned int num;
這樣以後使用num i=22;就相當於使用了unsigned int i=22;作用是方便程式的閱讀和讀寫.
另外像.
typedef struct poin
poin2;
這樣以來,poin2和poin是一樣的.而如果不加typedef那麼這裡的poin2就是一個poin的例項.
再有typedef void(*fp)(int,int);
以後使用fp相當於直接定義一個沒有返回值帶兩個int引數的函式指標.
比如void func(int x,int y)....
fp p2=func;
而不須要
void(*p2)(int,int);
p2=func;
省了很長的申請函式指標的代表.
總歸簡單一句話,就是用來把複雜的定義簡化.把有特性的型別定義成比較容易記的
10樓:匿名使用者
我來總結一下:
1.定義新的型別,便於跨平臺
typedef int int
2.c語言中有定義結構體
typedef struct studentstu;
但c++其實不用這麼寫
3.定義函式指標,方便。
typedef int (*pfunc)(int a, int b); //定義了一個pfunc的函式指標
如果有函式定義為int add(int a,int b);
pfunc = &add;
pfunc(a, b); //相當於呼叫add函式4.隱藏陣列的維數,也是為了**的美觀吧
typedef char[200] chararr;
chararr str; //str是個200位元組大小的字元陣列我所知道的差不多就這些。
11樓:
定義型別,比如
typedef int myint
然後就可以把myint當作int用。
最普遍的用法是定義結構體型別
typedef struct studentstu;
然後直接用stu stu1就能定義這個結構體型別。如果普通的做法:
struct student;
這樣的話,必須宣告其為 struct student stu1;
然後才能把stu1當作這個結構體型別用
12樓:
可以給結構體起一個別的名字
typedef struct studentstu;
就是stu是student的另一個名字
13樓:匿名使用者
在 c 語言中 typedef 用來定義 已知型別 的別名,本質上和原來的型別是一樣的,不過 這可以提高程式的閱讀性, 更 方便程式移植等等,比如
typedef float money ;
money mymoney;
這個money 其實是 float 的別名,本質上就是 float 。如果要修改 money 的真實型別,只需將 float 替換掉就可以啦, 比如你覺得money 精度不夠,要替換成更高精度的型別, 把 money 替換成 double 型,只需
typedef double money ;
money mymoney;
如果 你沒有用 typedef 的話,再每個用到 float 的地方都得替換成 double ,這是非常麻煩的。
總而言之, typedef 的機制還是比較簡單的,不過 在c語言中,注意一下名稱重定義的情況就可以啦(c++不會有這種情況)。
關於C 中的問題,一個關於C 中「 」的問題
按照你的思路這樣改就可以了,原來 1的下標是會越界的,編譯都無法通過,因為 放在後就直接越界了,但是先 就不會了,還有陣列的下標要改成10,要不然就不對應了。對於你的補充問題不是賦值不成功,其實已經成功賦值了,只是如果你把 放在ix vec後面的話是原來ix vec為0,但只執行賦值語句了以後ix ...
關於C 中missing function header的問題急
include using namespace std int grade 別放在 main 和右大括號中間int main 後邊沒有分號 include 應該 為 include int main int grade 更正部分如下。int main c 程式設計問題 missing functio...
c中如何把陣列作為引數,c中關於陣列作為函式引數的幾種方法
對於陣列 名作為參bai數傳遞,有兩種方du式zhi 1.使用陣列名本身,如以下程式求dao陣列a的最專大值 include int max int x,int n 作為陣列定義形屬式2.用指標作為引數,這就簡單了,如 int max int x,int n 作為陣列定義形式int main voi...