C / C ++言語の断片的な知識ポイントの要約(1)
過去3年間の大学での勉強で、たくさんの知識や問題が散らばっていましたが、久しぶりに忘れてしまうものもあり、この問題を克服するためにブログを使って記録を残すことを考えました。あいまいさのために。私が戻って再び学ぶとき。
まず、コードを見てください。
# include <stdio.h>
int main(void){
char side_a[] = "Side A";
char dont[] = {
'w','o','w','!'};
char side_b[] = "Side B";
puts(dont);
return 0;
}
操作の結果に少し驚かれますか?puts関数の出力はdontの「wow!」文字列であってはならないと思いませんか?なぜサイドAがまだあるのですか、そしてなぜサイドBの後ろにあることができないのですか?
心配しないでください、ブロガーがあなたのために答えます。
知識ポイント1:puts()関数分析:
現時点でこのブログ投稿を通過したかわいい女の子は、puts()関数の正しい使用法にすでに精通している必要があると思います。理解していなくても大丈夫です。ブロガーは非常に注意深く、学習リンク。
1. puts()関数Baidu百科事典
2. C言語のputs()関数の使用法の詳細
トピックに戻りましょう。そうです、puts()関数の最も重要なポイントは、puts関数がターミネーター "\ 0"に遭遇するまで終了しないことです。そうでない場合、コンピューターは、空のスペース文字は終了するため、終了記号がない場合、puts関数は文字化けした文字を出力する可能性があります。
知識ポイント2:C / C ++の各変数のストレージ領域は異なります。
メモリ内のC / C ++プログラムの各変数のストレージ領域:
1.メモリスタック領域:ローカル変数名を格納します
2.メモリヒープ領域:新しいオブジェクトまたはmallocオブジェクトを格納します;
3.定数領域:ローカル変数またはグローバル変数の値を格納します;
4.静的領域:グローバル変数または静的変数を格納します;
5 。コード領域:バイナリコード。