Cでのconstchar* p、char * const p、およびconst char *constpの違い
ポインタ
Cプログラミング言語では、* pはポインタに格納されている値を表し、pは値のアドレスを表し、ポインタと呼ばれます。
const char * およびcharconst * ポインタは定数charを指すことができ、このポインタが指すcharの値は変更できないことを示しています。ただし、ポインタの値は定数ではなく、別の定数文字を指す可能性があるため、変更できます。
char * const ポインタがcharを指すことができ、このポインタが指すcharの値を変更できることを示します。ただし、ポインタの値は現在一定であり、別の文字を指すことができないため、変更することはできません。
const char * const ポインタは定数charを指すことができ、このポインタが指すintの値は変更できないことを示しています。また、ポインタの値を変更することもできません。現在は定数であり、別の定数文字を指すことはできません。
親指のルールは、構文に右から左に名前を付けることです。
// constant pointer to constant char const char * const // constant pointer to char char * const // pointer to constant char const char *
例(C)
コメントされたエラーコードのコメントを外し、エラーを確認します。
#include <stdio.h> int main() { //Example: char const* //Note: char const* is same as const char* const char p = 'A'; // q is a pointer to const char char const* q = &p; //Invalid asssignment // value of p cannot be changed // error: assignment of read-only location '*q' //*q = 'B'; const char r = 'C'; //q can point to another const char q = &r; printf("%c\n", *q); //Example: char* const char u = 'D'; char * const t = &u; //You can change the value *t = 'E'; printf("%c", *t); // Invalid asssignment // t cannot be changed // error: assignment of read-only variable 't' //t = &r; //Example: char const* const char const* const s = &p; // Invalid asssignment // value of s cannot be changed // error: assignment of read-only location '*s' // *s = 'D'; // Invalid asssignment // s cannot be changed // error: assignment of read-only variable 's' // s = &r; return 0; }
出力
C E
-
C#と.Netの違い
C#はプログラミング言語であり、.NETはフレームワークです。 .NETには、.NETFrameworkの仮想コンポーネントである共通言語ランタイム(CLR)があります。 .NETにはC#があるだけでなく、それを介してVB、F#などを操作できます。 C#は.NETの一部であり、次の機能があります- ブール条件 自動ガベージコレクション 標準ライブラリ アセンブリのバージョン管理 プロパティとイベント デリゲートとイベント管理 使いやすいジェネリック インデクサー 条件付きコンパイル シンプルなマルチスレッド LINQおよびLambda式 Windowsとの統合
-
GoとJavaの違い。
行く Goは手続き型プログラミング言語です。プログラムはパッケージを使用して組み立てられます。動的言語に似たパターンを採用する環境をサポートします。 Java Javaはオブジェクト指向プログラミング言語です。 Javaは静かで高速、信頼性が高く、安全です。最も広く使用されている言語でもあります。 GoとJavaの重要な違いは次のとおりです。 Sr。いいえ。 キー 移動 Java 1 タイプ Goは手続き型プログラミング言語であり、動的言語と同様のパターンをサポートしています。 Javaはオブジェクト指向プログラミング言語です。 2 クラスのサポート