c和指標程式6 2與6 3 分析

2021-07-09 20:54:10 字數 1064 閱讀 5927

我覺得記憶體模型大概是如此:

如果改變strings++那麼指標將會指向第二行,如果使用(*strings)那麼指標將會向後移動一列。

在find_char1函式中:

char *string;

while((string = *strings++)!=null)

} 在 find_char2函式中:

while(strings!=null)

strings++;

但是最後的結果執行函式一併沒有改變?

由於指標陣列中每一行型別是陣列並沒有指標控制,而在每乙個指標中卻有指標控制。所以*(*strings)便改變了

比如對於定義中的*string[2];

輸出第乙個陣列第二個陣列:

printf(「%c\n」,*string[0]+1);

int find_char1(char **,char);

int find_char2(char **,char);

int main(int argc, char *argv)

; find_char1(string,』1』);

printf(「\t%s\n」,*string);

find_char2(string,』1』);

printf(「\t%s\n」,*string);

system("pause");

return 0;

int

find_char1(char **strings ,char value)

} return 0;

}int

find_char2(char **strings,char value)

strings++;

} return 0;

}

C語言 指標例程 《C和指標》例程6 3 注釋

c和指標 的107頁 程式6.3 在一組字串中查詢 版本2 程式如下 include include define true 1 define false 0 intfind char char strings,char value 1 strings 5 return false int main...

C和指標開頭的程式

include include include define max cols 20 最大的列數 define max input 1000 輸入最大長度 int read column numbers int columns,int max void rearrange char output,c...

c 字首和與差分

1 簡介 字首和也是乙個在比賽中比較實用的方法,他能很快得求出乙個區間的和,速度為o 1 一維的字首和陣列sum i 就是存的是前i個數的總和。根據這個公式我們很容易得到x到y區間的總和就是sum y sum x 二維的字首和如sum i j 是指 i,j 點的左上角的矩陣的各數總和,及0 i行且0...