c語言為什麼說指標是靈魂?能簡單舉個例子嗎?謝謝

2022-03-10 22:14:31 字數 2091 閱讀 9734

1樓:資料**

我們知道執行指標是危險的,執行指標很容易就會現在指標越界問題,如果是賦值操作將會對系統造成很大的危險,相信每一個程式設計師都會用指標取數時取過不屬於自已定義的記憶體單元,c#裡都擯棄了指標……可想而知指標的意義是不大的,完成可以用陣列來代替。在c中看來,指標是完全可以替代陣列的,但陣列有什麼它自已的優點呢?1.

當你想定義一組資料變數時,十個變數?或許你還可以每個變數給它取個名字,可如果是100個,1000個呢?1000個的指標變數,每個指標你就給它取名都取到頭痛,別說編寫程式了。

或許你會反駁,用指標動態申請也可以,很明顯如果你用指標來替代陣列,這時指標就不能移動了,因為一移動,它就亂了,你就不知道當前指標是指向**下一個記憶體單元又是**了,如果不能移動,指標也就失去了它的意義了……還有如果申請的不是連續的記憶體空間,比哪1000個連續的1000個單元的記憶體空間塊呢?你是不是還得定義1000個指標變數來動態申請記憶體,而用陣列你就可以避免,你只要定義1000個陣列指標,再用迴圈實現動態申請就可以。2.

陣列定義的是一組連續的記憶體空間,可以說每個單元都有自已的變數名(陣列名+下標)……這樣如果執行越界操作時,程式將會報錯……3.還有就是用陣列申請一組連續的記憶體空間明顯要比用指標動態申請空間要簡單得多……4.再者陣列是用到很多的,如果你全部都用針指來代替,我們知道執行指標是危險的,多一個針指操作就多一分危險,你能保證,程式編寫一次就能正常執行,你這麼多的針指就不會指向一些重要的系統或使用者陣列去操作?

*只要你編寫的程式夠多,不難發現,陣列遠比指標要簡單得多……

2樓:科技大記事

能夠操作硬體的就只有指標

c語言中指標有哪些用處。或者可以用來做什麼,請簡單舉例說明

3樓:匿名使用者

指標可以快速訪問陣列中的元素,想訪問下一個,就自加1,上一個就自減1,下一行就自加一行,上一行就自減一行,特別適用快速逐點處理影象,

如:unsigned char img[1024][768],*p; int i,j; p=(unsigned char *)img; for ( i=0;i<1024;i++) for ( j=0;j<768;j++,p++ ) *p+=16;

指標還可以用不同型別來訪問同一組資料:

unsigned char a[4],*p; unsigned int *q; p=a; *p=0x12; p++; *p=0x34; p++; *p=0x56; p++; *p=0x78; q=(unsigned int *)a; printf("%xh",*q);會輸出十六進位制數78563412h

另外指標可以用於給函式傳遞陣列起始地址、結構地址、類地址、結構陣列地址,這些複雜資料組合,函式返回值也是這樣,另外利用指標還能不從陣列起始地址開始傳入陣列。比如:char str; scanf("%s",str); printf("%s\n",str+1);

c語言中\t是什麼意思,能舉個例子麼

4樓:馬小芳

轉義字元中的水平製表,如在c++6.0中顯示預設的是8位空間為一組,/t後浮標移到當前組下一組的開頭位置。

如printf("%d/t%d」,12345,678);結果顯示的是12345 678中間空3個空。

printf("%d%d」,12345,678); 結果顯示的是12345678中間沒有空。

5樓:藍色丶鑽石

當然沒問題。

對的,你說的都很對

凡是都應該自身去了解一下

嗯嗯,你很清楚

c語言:兩個指標變數為啥可以相減,比較,賦值,唯獨不能相加呢?請舉個例子,謝謝! 10

6樓:匿名使用者

比較運算可以得到兩個指標的相對位置,而相加的結果什麼都不是。比如總共有100個房間,甲住在67號,乙住在80號,通過比較運算可以知道他們離的有多遠,但如果用67+80得到的是什麼?

c語言中,指標常量和常量指標有什麼意義?能否舉例說明一下

7樓:匿名使用者

指標常量的意思是指標指向的地址無法被改變

而常量指標意思是指標指向的資料不能被改變,但指標可以移動

C語言中的指標是個什麼型別的變數

1.指標的型別 就是 指標 指標大小和記憶體的編址方式有關,只是恰好與無符號整形大小相同他的大小是 4位元組 32位 就是類似 0012ff78 16進位制 32位 注 如果你的電腦是64位電腦 那麼他的大小就是8位元組 2.指標是用來儲存 記憶體地址的 記憶體有 按32位編制 和按64位編制之分 ...

為什麼說鼓手是樂隊的靈魂,為什麼說鼓手是一個樂隊的靈魂?

反正我覺得樂隊沒有吉他手一樣可以演出,但是沒有鼓手絕大多數的曲子還是演奏不了的,可見鼓手確實是一個樂隊的靈魂所在。所謂的靈魂 非其不可,這個樂隊最最核心的的人,最能代表樂隊風格。另外作曲是整個樂隊的事還是某個個人的事。架子鼓的節奏的穩定決定整首樂曲的穩定,它的節奏是其他樂手的節奏基礎,鼓亂則樂隊亂。...

請大家看看這道簡單的c語言題為什麼選a而不是

a的意思終止本次迴圈所以只有continue語句,而break 語句是跳出迴圈結構。b為什麼錯呢 如果在witch語句中巢狀一個for迴圈b 就不對了吧。c d 我在這裡就不解釋啦。switch語句中完全可以出現continue語句。如果這個switch語句包含在迴圈結構之中的話。a當然是正確的。這...