Cで厳密なエイリアシングが必要なのはなぜですか?
ここでは、Cで厳密なエイリアシングを使用する必要がある理由を説明します。その部分について説明する前に、1つのコードを見て、出力を分析してみてください。
例
#include<stdio.h> int temp = 5; int* var = &temp; int my_function(double* var) { temp = 1; *var = 5.10; //this will change the value of temp return (temp); } main() { printf("%d", my_function((double*)&temp)); }の値が変更されます
出力
1717986918
関数my_functionを呼び出すと、1が返されます。my_function((double *)&temp)を使用してこれを呼び出すこともできます。これは1を返すことになっていますが、ここでは、これが別の何かを返していることがわかります。このコードは、定数1のみを返すように作成されています。この問題を修正するには、厳密なエイリアシングを使用できます。
修飾子の制限キーワードを使用します。これは、何かがポインター制限キーワードでエイリアスされていないことをコンパイラーに約束していることを示しています。約束を破ると、いくつかの問題が発生します。
-
HTMLに必要な属性
HTML必須属性は、HTMLドキュメントでフォームを送信する前にHTML要素に入力する必要があることを定義します。 入力に適用できます 、選択 、および textarea HTML要素。 構文 以下は構文です- <tagname required></tagname> 例 HTMLに必要な属性の例を見てみましょう- <!DOCTYPE html> <html> <style> body { color: #000; he
-
Windows 10 がダメな理由
Windows 10 オペレーティング システムは世界的に有名であり、定期的な更新により独自性と信頼性を高めています。すべてのアプリとウィジェットは完璧ではありませんが、それでもかなり便利です。ただし、その設定と機能は改善される可能性があります。 Microsoft は、世界中で約 13 億人の Windows 10 ユーザーのユーザー ベースを楽しんでいます。多くの人が Windows 10 は最悪だと考えています。それは、ポップアップするさまざまな問題のためです。たとえば、ファイル エクスプローラーの破損、VMWare との互換性の問題、データの削除などの問題に直面する可能性があります。ま