當前位置:首頁 » 編程軟體 » 編譯中已棄用的變數怎麼弄

編譯中已棄用的變數怎麼弄

發布時間: 2022-08-08 23:55:51

⑴ C++編譯器問題 如何查找項目中未引用的變數 用的編譯器是vs2012

編譯一次,最下面的框裡面有警告,雙擊警告,就能定位到相應的代碼位置

c語言中已經聲明或定義的變數如果在代碼中沒有使用到,編譯器會怎樣處理

就一直在那裡放著。如果是全局變數,編譯器連提示都沒有;若是局部變數編譯器在編譯時會提醒說某某局部變數沒有使用;若你不理會,在代碼修改前就不會再提醒了。這些變數未使用,卻一直佔用著內存空間,但不影響代碼的正確性……

⑶ 在C語言中用const定義的變數如何修改

關於C的關鍵字——const的理解和用法

const在C中的用法很靈活(相信C++中也一樣),個人感覺對之既愛又恨,有時候感覺const很好用,同時又經

常會因為它的優點而犯錯,犯錯的原因除了粗心之外,另一個更重要的,就是以前對const理解不到位。於是今天

自己寫成一篇小總結。如果是初學者,建議好好看一下,相信幫助比較大;如果是高手,請不吝賜教!

上面寫了一段廢話,就算是小序吧:)接下來就是正文;

一、關於const的具體定義:

——個人感覺很難對它下一個標準的定義,因為的用法很靈活,似乎對它定義後總無法讓人能夠明白它的

意思,而且容易讓人產生誤解(也許是偶水平太菜了)。例如,把它有定義:一個能夠讓變數變成無法修改的常量

的關鍵字。那麼,這樣的話,就可能讓人誤解為只要有const在定義變數裡面,那變數就無論怎樣都無法修改。這

樣的理解是很片面的(下面用法方面將對這問題做探討)。因此,本人在此不敢對它下定義,其他參考書好象也沒

有下定義。

二、關於const的具體作用
——const作用就靈活了,一個表達式中const放置的位置不同,效果可能就不一樣了。下面分具體情況分

析(當然,所舉的情況並非覆蓋全部情況)
A。const最經常的用法
1.為了防止傳遞的函數參數不被修改,在調用函數的形參中用const關鍵字.
//Example ->

int FindNum(const int array[], int num, int conut);//聲明函數

//code...

int FindNum(const int array[], int num, int count)
{
int i;
int flag = 1;

for (i = 0; (i < count) && flag; i++)
{
if (array[i] == num)
{
flag = 0;
break;
}
}
return flag;
}
//code...

上面這例子中,編譯器會把array[]當作常量數據的數組看待。所以,假如你不小心給數組賦值,那麼

,編譯器就會報錯了。因此,當你不需要也不想修改數組的數據時,最好用const把數組定義為常量數組。

2.const可以用來創建數組常量、指針常量、指向常量的指針等:
const char ch = 'a';
const int a[5] = {1, 2, 3, 4, 5};
const int *p = a; //a是一個數組的首地址.p是指向常量的指針
int * const p = a; //a是一個數組的首地址.p是指針常量;
const int * const p = a; //a是一個數組的首地址。p是指向常量的指針常量

前兩種情況很簡單,現在著重分析一下後三種用法,因為這3種情況容易出錯,偶就有時候怕用錯了

剛脆不用const.

——const int *p = a; //p是指向常量的指針,因此,不可以通過給指針賦值來改變數組

//中的數據,例如:
// *p = 10; /*錯誤*/
// *(p + 2) = 1; /*錯誤*/

//假如指向常量指針可以改變值,那麼,就等於也改變了數組的數

//據了。假如你不理解,偶倒有一個辦法讓你理解,你就想你和一

//個人綁在一起,有可能你移動了位置而他不跟著你移動嗎!哈哈

——int * const p = a; //看這表達式,const的位置和第一個不同吧!他們的用法和作用

//就完全不一樣了。這時候p是指針常量,我們知道,指針是指向

//了一個數組的首地址,那麼,它的位置就不可以改變了。但是你

//現在應該和第一個表達式比較了,現在的數組並不是常量數組,

//所以數組的數據是可以改變的,而指針這時候它是不可以移動的

//,指向數組第一個數據,所以它可以而且只可以改變數組第一個

//數據的值。這一點請別誤解,指針常量只是它的地址不可以改變

//,並不是它指向的內容一定不可以改變,這一點切記!

//好啦。假如你又不理解,偶又有一個比較形象的例子來說明:

//假如有一個固定的人拉著另外一個人的手,注意,固定的人相當

//於他是不可以由其他人來替換的。但是他可以拉其他人的手啊,

//並不一定規定他必須拉同一個人的手啊。現在你應該可以有個比

//較深的印象和理解吧:P

//下面舉幾個例子幫助理解:
// *p = 2; /*可以*/
// *(p+1) = 10; /*可以*/
// p++; /*不可以*/

——const int * const p = a; //假如前面兩種表達式的本質你理解了,這種表達式你來理解根本

//沒有問題,const現在有兩個,而且一個const的位置是第一種情

//況的位置,第二個const是第二種情況的位置,所以這表達式的功

//能就是前兩種情況的作用總合。這里不多說!

//下面舉幾個例子幫助理解:
// *p = 2; /*不可以*/
// *(p + 2) = 10; /*不可以*/
// p++; /*不可以*/

B。const並不會阻止參數的修改

之所以把這作為一點來談,就是因為有一些朋友可能會以為在函數參數中用了const就一定不可以改變

參數,這實際上是錯誤的理解,因為,它並不阻止參數的修改,下面舉個簡單的例子來闡述一下;

#include<stdio.h>
#include<ctype.h>

void ChangeStr(const char *String);

int main(void)
{
char str[] = "The C programme";

Change(str);
printf(str);

system("Pause");
return 0;
}

void ChangeStr(const char *String)
{
char *Source = (char *)String;

while (*Source)
{
*Source = toupper(*Source);
Source++;
}
}

//end

上面的程序把字元串中的每個字元都轉換成大寫字母了。因為*String把地址給了*Source,而

*Source的值的改變編譯器並不幹涉,可能有的編譯器會發出警告之類。上面的程序只是為了說明const並不會阻止

參數的修改,如果象上面程序那樣,個人感覺沒什麼意義,只會讓人容易混亂而已。

關於CONST的用法和理解本人也就只能說這么多了,當然,很可能有更多高級或者少用的用法,由於水平

和經驗有限,確實不能再說些什麼。

三、參考文獻
——《C primer plus 5th》

java環境變數怎麼搞啊。。。

最佳答案1.首先,打開配置環境變數界面,如下操作:我的電腦---屬性---高級---環境變數
2.系統變數(S)中配置如下:
2.1,新建系統變數:
變數名:JAVA_HOME
變數值:C:\Program Files\Java\jdk1.5.0_17(該目錄為JDK安裝的目錄)
2.2,編輯CLASSPATH,如果沒有該變數則新建,
變數名:CLASSPATH
變數值:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(註:該變數值置於CLASSPATH即可,
其中:變數值最後要記得加「;」)
2.3,編輯PATH,如果沒有則新建
變數名:PATH
變數值:.;%JAVA_HOME%\bin; (註:該變數值置於PATH前面,如果你只有一個JDK版本,可以不用編輯PATH,如果為了區別版本,那還是配置PATH變數值)。

⑸ C語言中無論怎麼改編譯器都說你的變數無用是怎麼回事

因為你的b就是沒用到啊.
正確應該在結尾return b;
你現在是固定return 0的.

所以 不管輸入什麼 都不會有什麼輸出

⑹ VB程序中出現編譯錯誤,變數未定義,要怎麼解決

Option Explicit這句去掉

⑺ PLC程序弄到計算機後沒有可用的變數

編輯
——
檢查塊的一致性,程序
——
編譯全部,編譯完成後,再打開
塊是就沒提示了,程序也能修改保存。

⑻ 編譯器對c語言中變數名怎麼編譯

對於變數名,會根據變數類型
開辟不同大小的內存空間
然後指定一個相對地址記錄下來。
對於編譯後, 不存在變數名,只有對應的相對地址。

⑼ 交叉編譯中用什麼命令刪除板子的環境變數

將軟體包復制到opt目錄下,解壓,在終端進入 /etc目錄,使用 gedit profile 命令,在打開的profile文件的最後添加一行: export PATH=$PATH:/opt/解壓後的文件名字/bin 保存關閉 使用source profile 命令 然後查看,實用which arm-linux-gcc看看

⑽ C語言中計算機怎樣找到已經定義的變數已經定義了的變數名在計算機定址的過程中具體又起到了什麼作用

相信學過編譯原理的人都會知道,C語言編譯器,有個存在已經定義變數的表。計算機就通過這張表找到變數的內存地址(一般是指針)。
查找的大概過程是:通過變數名在表中查找-內存地址指針-在找倒內存

熱點內容
伺服器為什麼會產生熱量 發布:2024-05-08 23:57:44 瀏覽:208
頁面置換演算法實驗報告 發布:2024-05-08 23:51:08 瀏覽:984
十秒編程 發布:2024-05-08 23:34:04 瀏覽:848
輸入源程序後如何編譯 發布:2024-05-08 23:23:36 瀏覽:536
我的世界基岩版練習pvp伺服器 發布:2024-05-08 23:20:23 瀏覽:978
phpmanual 發布:2024-05-08 23:19:50 瀏覽:297
如何登錄不知道密碼的wifi網 發布:2024-05-08 23:09:42 瀏覽:994
java速學 發布:2024-05-08 23:08:43 瀏覽:749
愛心代碼的編譯器 發布:2024-05-08 22:47:08 瀏覽:344
沖突資料庫 發布:2024-05-08 22:47:02 瀏覽:426