❶ c語言中,ElemType 是什麼數據類型
在C語言數據結構中,關於數據元素的類型定義均用「 ElemType e;」來表示,其中e是表示數據元素的變數,而ElemType則是它的類型,ElemType的含義就是「數據元素的類型」,是一個抽象的概念,是表示我們所要使用的數據元素應有的類型。
ElemType是數據結構上為了說明問題而用的一個詞。它是element type(「元素的類型」)的簡化體。
因為數據結構是討論抽象的數據結構和演算法,一種結構中元素的類型不一定是整型、字元型、浮點型或者用戶自定義類型,為了不重復說明,使用過程用 「elemtype」 代表所有可能的數據類型,簡單明了的概括整體。
在演算法中,除特別說明外,規定ElemType的默認是int型。
拓展資料:
Elem Type的使用方法:
在定義結構體array的時候有這樣一段:
typedef struct
{
ElemType data[maxsize];
int length;
}array;
使用:typedef int ElemType;//定義ElemType為int類型
你想讓它是什麼類型自己用typedef重定義就行。
也可以用模板表示,類似template<class T>裡面的T。
❷ 數據結構(C語言版)中SElemType是什麼意思,對應成C++應給怎麼用
SElemType是數據類型,用typedef定義數據類型的別名。
比如:typedef int SElemType;那麼SElemType就是int的別名。
用的時候,這個要放在前面定義一下,c++當然可以呀,c是c++的一個子集!不過c++里用模板(template<typename T>或template<class T>)好些了。
例如:
<stdio.h>一般寫C語言程序都要加這個頭文件,因為它包含scanf()、printf()等控制輸入和輸出的函數
<time.h>包含的主要是和時間相關的函數
<string.h>主要包含用來拷貝或比較字元串的函數
<stdlib.h>主要包含這幾個函數:malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()
這是比較常用到的頭文件
(2)c語言elemtype擴展閱讀:
數據元素的機內表示(映像方法): 用二進制位(bit)的位串表示數據元素。通常稱這種位串為節點(node)。當數據元素有若干個數據項組成時,位串中與各個數據項對應的子位串稱為數據域(data field)。因此,節點是數據元素的機內表示(或機內映像)。
關系的機內表示(映像方法):數據元素之間的關系的機內表示可以分為順序映像和非順序映像,常用兩種存儲結構:順序存儲結構和鏈式存儲結構。順序映像藉助元素在存儲器中的相對位置來表示數據元素之間的邏輯關系。非順序映像藉助指示元素存儲位置的指針(pointer)來表示數據元素之間的邏輯關系。
❸ C語言elemtype,其中elemtype不是關鍵字,那麼如果我要讓這個語句在C程序中能執行,應該怎麼寫
我理解你說的意思是不是想讓elemtype可以替換任意一種類型? 如果是的話,這種東西叫做模板,它是C++的內容,不在C語言的范疇內。 具體用法是: template <typename elemtype> typedef struct{ elemtype *elem; int length; int listsize; }sqlist; 之後聲明變數時要賦予elemtype一個已知的類型,比如int。 struct sqlist<int> a; 對於a這裡面的elemtype就變成了int。 不過這是C++的內容,C裡面不能用。 如果不用模板,而必須在C語言里用的話,有兩種方法。 1. 之前聲明它 typedef int elemtype; 2. 之前預編譯它 #define elemtype int
❹ C語言中方法參數列表ElemType &e和ElemType*e一樣嗎
一樣,都是指e的地址
❺ C語言的*sizeof(SElemType)什麼意思啊
那是指針
EleType* pbase;
EleType* ptop;
int length;
ptop總是指向站定
❻ c語言typedef struct{ ElemType elem[MAXSIZE]; int last; }SeqList; 這里ElemType有什麼用
ElemType通常是一個宏,例如#define ElemType int, 這樣就可以更方便的改變數據結構里的元素的數據類型了
❼ c語言elemtype
你是說的數據結構吧,elemtype只是一個別名,你要把自己要用的類型定義為elemtype才行。比如我的數據本身的類型是整型的,就這樣寫
typedefintelemtype;
//下面就可以統一寫
elemtypea,b;
//相當於inta,b;
//這樣的好處是可以適用於任何類型,只要在用的時候,再定義一次就行了
❽ 關於c語言數據結構的頭文件和Elemtype類的一些問題
1.
<stdio.h>一般寫C語言程序都要加這個頭文件,因為它包含scanf()、printf()等控制輸入和輸出的函數
<time.h>包含的主要是和時間相關的函數
<string.h>主要包含用來拷貝或比較字元串的函數
<stdlib.h>主要包含這幾個函數:malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()
這是比較常用到的頭文件
2.
typedef struct{
SElemtype *base;
SElemtype *top
int stacksize;
}SqStack;
以上為聲明一個結構體,並用SqStack作為這個結構體名,結構體即為我們自己定義的數據類型。
其中selemtype也是一個自定義的結構體名,具體代表什麼還要看具體的代碼。
for(p=str;*p;p++)估計是寫錯了
如果前面沒有定義 char p;
那麼這個循環語句應該寫成
for(char p=str;*p;p++);
p可以在for語句中定義,但是定義的p只能作用於這條for語句之內。
❾ c語言問題 typedef int elemtype和#define elemtype int的區別
前面一種會識別elemeype為一種數據類型,可以定義elemtype a;
而後面的只是對int 定義了一個宏,在編譯時會將使用elemtype的地方替換成int,
這樣使用沒什麼區別,
不過不推薦,如果是想作為類型的話,還是推薦是用typedef;
❿ C語言elemtype
我理解你說的意思是不是想讓elemtype可以替換任意一種類型?
如果是的話,這種東西叫做模板,它是C++的內容,不在C語言的范疇內。
具體用法是:
template <typename elemtype>
typedef struct{
elemtype *elem;
int length;
int listsize;
}sqlist;
之後聲明變數時要賦予elemtype一個已知的類型,比如int。
struct sqlist<int> a;
對於a這裡面的elemtype就變成了int。
不過這是C++的內容,C裡面不能用。
如果不用模板,而必須在C語言里用的話,有兩種方法。
1. 之前聲明它
typedef int elemtype;
2. 之前預編譯它
#define elemtype int