デバッグのヒント (2)

ここに画像の説明を挿入
6. 良い (デバッグしやすい) コードの書き方
6.1 優れたコード:

  1. コードは正常に動作します
  2. いくつかのバグ
  3. 効率的
  4. 高い可読性
  5. 高いメンテナンス性
  6. 明確にメモする
  7. 完全なドキュメント

一般的なコーディング スキル:

  1. アサートを使用する
  2. constを使ってみる
  3. 適切なコーディング スタイルを開発する
  4. 必要なコメントを追加する
  5. コーディングの落とし穴を避けてください。

ここでassertとconstの役割について話しましょう.assert
はassertと同等であり,暴力的な解決策には良いことです.assertのカッコ内が条件を満たさない場合はエラーを報告します,エラーの発生を防ぐ良い方法です。もちろん、使用するときはヘッダー ファイル <assert.h> をインクルードする必要があります。const
const
がポインター変数を変更する場合:

  1. const を * の左側に配置すると、ポインターが指す内容を変更し、ポインターが指す内容を pointer を介して変更できないようにします
    ただし、ポインター変数自体の内容は変更可能です。
  2. const を * の右側に配置すると、ポインター変数自体が変更され、ポインター変数の内容は変更できなくなりますが、ポインターが指す内容はポインターを介して
    変更できます。

簡単にまとめると、左固定値、右向きです。


strcpy 関数の実装をシミュレートする適切なコードを作成する方法を説明するための例について説明します。

#include<string.h>
#include<stdio.h>
#include<assert.h>
char* my_strcpy(char* dest, const char* src)
{
    
    
	assert(dest && src);
	char* ret = dest;
	assert(dest && src);
	while (*dest++ = *src++)
	{
    
    
		;
	}
	return ret;
}
int main()
{
    
    
	char arr[] = "xxxxxxxxxxx";
	char arr2[] = "abcd";
	char* ret = my_strcpy(arr, arr2);
	printf("%s", ret);
	return 0;
}

7. プログラミングでよくあるエラー
7.1 コンパイル
エラー エラー メッセージを直接読んで (ダブルクリック)、問題を解決してください。あるいは経験を積めばできるようになるかもしれません。比較的シンプル。
7.2 リンクされたエラー エラー
メッセージを確認し、主にコード内のエラー メッセージ内の識別子を見つけて、問題を特定します。通常、識別子名は
存在しないか、スペルが間違っています。
7.3 実行時エラー
デバッグを使用して、問題を段階的に特定します。

今日の共有はこれで終わりです、皆さんありがとうございました!

おすすめ

転載: blog.csdn.net/2301_76895050/article/details/132124255