1樓:海天盛
1.寫法語時,必須有函式、變數等名稱,這個名稱叫做識別符號100,在c++中有識別符號命名規則。
2.識別符號只能由字母、數字、下劃線組成;識別符號的第一個字母必須是一個字母和一個下劃線。
3.識別符號辨別要求大小寫字母,如if和if是兩個完全不同的識別符號。該識別符號與法語中具有特殊含義的關鍵字不一樣,與使用者風格的函式名不一樣,與c語言版本的庫函式相同。
4.在法語中,不應該為了識別而重複所有型別的識別符號。在決定變數名和其他識別符號時,要注意“通過名稱瞭解其含義”。
5.然後執行程式,就完成了。
2樓:方田
但願小弟能幫你三點,得到大哥認可:
1.識別符號申明
2.巨集定義名跟庫定義重複的意思
3.包含資源標頭檔案
識別符號申明:
1.預處理使用的巨集定義define:
格式:#define 識別符號 常量
舉例:#define max 8//該檔案程式中,所有的max=8
2.常量識別符號定義const:
格式:const 變數型別 識別符號=常量;
舉例:const int max=8;//該檔案程式中,所有的整型變數max=8
評價:與常量識別符號定義相比,預處理不需申明變數型別,優先執行
3.識別符號型別定義typedef:
格式:typedef 識別符號 變數型別;
舉例:typedef ide int;
ide a=5;
//該檔案程式中,所有int都可用ide代替:“ide a=5;”等價於“int a=5;”
巨集定義名跟庫定義重複的意思:
打個比方:
有人說,我想定義一個叫“int”的變數,使之等於5:
人理解為:“定義一個叫int的變數為整型變數,並賦值5”:int int=5;
結果發現:兩個int字形都是粗體,要求不成功。
原因是:int是專用識別符號,作用是定義他量,不能充當變數名;
當電腦見到它時,就知道要執行定義他量的命令。由此說來:
int int=5;程式理解為:“定義一個定義一個?為整型變數為整型變數,並給?賦值5”即:int int 空識別符號=5;故不成功。
同理,巨集定義名跟庫定義重複的意思是:
某一個巨集定義名也是某個庫中的“專利名詞”,它本身已有含義和功能。
並且開啟該功能需使用該庫對其宣告,這就要用標頭檔案。
包含資源標頭檔案:
資源標頭檔案是特殊的、被“封裝”(保密)了的c++檔案。
用#include包含它就可以使用它的功能:
#include後,就可以使用被定義的printf函式了。
如e:\dev-cpp\include中“stdio.h”檔案中內容:
extern "c"
上述檔案,定義了printf的名稱及使用功能和格式。所以,當你包含它就可以使用它的功能,因為它的功能是在資源標頭檔案定義的。
你不包含它時,它如果不是“專利名詞”就沒有意義,可以當一般變數定義:
int printf=5;//該句合法:printf不是“專利名詞”,且未被#include定義。
3樓:匿名使用者
你看看巨集定義名有沒有跟庫定義重複。。。。
4樓:
應該沒問題的。。。你應該不至於沒有包含資源標頭檔案吧?關注。。。
5樓:航空旅行者
沒看懂什麼意思,學習中
c++未定義識別符號怎麼辦?
6樓:刺友互
1、通常在定義某個型別的變數時我們都需要引入相應的標頭檔案,系統才能別該識別符號。
2、在警告欄發現標頭檔案資訊並沒有被識別,而是被系統在查詢預編譯頭使用時跳過了,因為如果在.cpp中未引入相關.h檔案出現這樣的錯誤很正常,但是現在是已經引入了相關的標頭檔案,卻還是出現了error c2065、error c3861、error c2228...
的錯誤。
3、也就是說標頭檔案在這裡並沒有生效,而是被直接跳過了,自然其對應的識別符號也會無法識別的。然後我把#include "stdafx.h" 標頭檔案移到最上面在嘗試除錯,結果竟然不在報未宣告的識別符號錯誤了,直接編譯成功了。
4、這裡還有個錯誤提示,當遇到無法解析外部符號時我們要檢視下我們引用的檔案可能不全,這裡我就是沒把“fwlib32.lib”這個檔案引入到專案中才導致錯誤的。
7樓:du瓶邪
#include
#include
using namespace std;
struct linknode
}; class linkedstack;
~linkedstack();
void push(char x);
char pop();
bool makeempty();
int getsize();
bool gettop();
bool isempty();
};void linkedstack::push(char x);
bool isempty();
char linkedstack::pop() ;
bool linkedstack::makeempty()cout<<"小鬼,鏈式棧的元素已經清空完畢 !"
}cout<<"現在連結串列的長度為 :"<>n;
//char *p = new expression[100];
char expression[100];
cout<<"請輸入你要測試的符號內容 :"<>expression[i];
}for(int j=0;j } }while(lstack.isempty() == false)}lstack.makeempty(); system("pause");} 8樓:匿名使用者 一,沒有包含標頭檔案; 二、包含了標頭檔案,但是否存在名稱空間,如果存在,請using namespace; 三、你用的識別符號是否有外部定義的靜態庫,如果有,請在專案的連結器->輸入中加.lib檔案的引用。 風若遠去何人留 a 和b是main裡面的,沒有傳到print中.所以出錯.這個最好的做法是,include int add int a,int b void print int x,int y void main int add int a,int b void print int x,int y ... 部分 標頭檔案 define char input char 原始檔 char input char str 返回r也有問題 函式返回 r就沒了 再訪問 就有可能出錯了 資料被覆蓋 在c語言中,識別符號是對變數名 函式名 標號和其他各種使用者定義的物件命名。識別符號的第一個字元必須是字母或下劃線,隨... 所謂識別符號是指常量 變數 語句標號以及使用者自定義函式名稱。c語言規定識別符號只能有數字 字母 下劃線組成,且只能有字母下劃線開頭。 不是要記住定義嗎?通過字母,數字,下劃線組成,第一個一定是字母或則下劃線,例如 int a a是合法的,a 548也是合法的,但是48a就不合法了,記得識別符號中只...為什麼老是提示 未宣告的識別符號a,b,望c語言大神指教
C語言應輸入識別符號怎麼解決
請選出可用作c語言使用者識別符號的是