C 指標的一些問題Mark

2021-07-23 17:46:03 字數 548 閱讀 8973

翻了下以前的blog,兩年以前的了。當時還說每天練一點,慢慢熟悉,簡直*****。

|雙重指標**p

假如我有乙個m×n維的陣列array,想要對應到指標p、q、r上去:

int array[m][n];

int (*p)[n];

int **q;

int* r[m];

*r[m]好理解,r是乙個m元的陣列,每個元素是乙個指標。

|指標*p和陣列p到底有什麼區別

給指標p分配記憶體是,new的是堆上的記憶體,而p是棧記憶體。陣列是陣列,指標是指標!

這就是為什麼說:

char s1="123456";

char *s2 = "123456";

前者是執行時賦值,而後者是編譯時就已經確定了(如果我沒記錯的話),是在靜態區,因此也無法更改。

s2[0] = '3';

會報錯。

C 一些問題

1 if else語句和switch case語句的效率分析對比 switch效率高。switch的效率與分支數無關,當只有分支比較少的時候,if效率比switch高,因為switch有跳轉表。分支比較多,那當然是switch 根據大量的實際程式測試 不考慮不同的編譯器優化程度差異,假設都是最好的優...

C中陣列指標的一些問題

1.有乙個二維陣列 int a 3 4 對於a相關的一些指標,具體含義如下 對於一位陣列int a 10 a是陣列首元素的位址,a是整個陣列的位址。所以a 1和 a 1的步長不一樣,前者的步長是4,後者的步長是40。2.定義乙個陣列型別 typedef int myarray 10 myarray ...

關於指標定義的一些問題

關於const在定義常量方面的使用問題 在學習的c c 的過程中,會時常會碰到一些令人大費腦筋拐不過彎來的事情 比如這個const的使用。當我看到和int const a,const int a,const int const a const int a,int const a的 時候,頭都大了,一...