背景
最近、私はもっと面白いブログは、資格を与え、それが一度にまとめ、特にとして、「C言語の文字列は4つの方法を返さ」を見ました。
コアは違法参照されるメモリアドレスを避けるために、それは自動的にメモリにリリースされていない、配信プロセスでポインタ変数を確保する方法です。
知識ポイント
- ポインタ(メモリアドレス)がスタックに格納された関数呼び出し、パラメータ引数の浅いコピーの内容から始まり、システムはコールの完了後に回収され
結論:関数パラメータが返されないことがあります。
- 静的データのライフサイクルは、プログラムの最初から最後まで定義されています
結論:ローカルスコープに戻りポインタは静的なデータとすることができます
- 通常の状況ヒープ領域のアプリケーションやリソースの下で手動プログラママニュアルのリリースにより、
結論:あなたはヒープ領域を指すポインタを返すことができます
概要
ここではアドレス既知のセキュリティパスの4つの方法があります:
- 配信アドレスのアドレス(ポインタ深いです)
- スタティックデータのアドレスを渡します
- ヒープのアドレス空間への転送ポイント
- アドレスグローバル変数の転送