ポインターのスペースをmallocする必要があるときは、ちょっと混乱します。どんな助けでも大歓迎です。NULLポインタのためにmallocする必要はありますか?いつポインタをmallocする必要がありますか?
-1
A
答えて
4
関数malloc
は、プログラムの実行中に一定量のメモリを割り当てるために使用されます。 malloc関数は、ヒープから1ブロックのメモリを要求します。
ポインタをmallocする必要があるときは、ちょっと混乱します。
いつもポインタを使用するためにmalloc
を使用する必要はありません。 malloc
は、実行時にスペースを動的に要求する必要がある場合にのみ使用してください。例えば、上記の例では
char arr[20]="Stack";
char *ptr; //It is pointer
ptr = arr;
printf("%s", ptr);
は、私はmalloc
を使用していないが、それでも私は、ポインタptr
を使用することができます。重要な唯一のことは、ポインタがあなたが仕事をしようとしている有効なメモリの場所を指していることです。どちらのポインタ
int a;
int *ptr=&a;
または、実行時にメモリの
要求malloc
を使用して、変数のアドレスを割り当てます。
int *ptr=malloc(sizeof(int));
私はNULLポインタのためをmallocする必要がありますか?
答えではありません。計算では、ヌルポインタには、ポインタが有効なオブジェクトを参照していないことを示す値が予約されています。 NULL
はポインタに割り当てられた値で、有効なオブジェクトを参照していないことを意味します。ちょうどポインタにNULL
の値を割り当ててください。
int *ptr=NULL:
関連する問題
- 1. mallocの後にchar *を初期化する必要はありますか?
- 2. C、ポインタ(またはポインタへのポインタ?)、**、malloc
- 3. mallocされたポインタに__attribute __((ns_returns_retained))と同等のものがありますか?
- 4. ポインタの割り当て先:解放する必要がありますか?
- 5. 削除後にポインタ0を割り当てる必要がありますか?
- 6. mallocのポインタ自体がNULLにリセットされていますか?
- 7. Linuxでgetpwuid()が返すポインタを解放する必要がありますか?
- 8. は、Mallocがより多くのメモリを割り当てる必要がありますか?
- 9. Mallocは内部配列を作成する必要はありません
- 10. nullポインタを初期化するMalloc
- 11. は、Pythonのリンクリストのnode.nextポインタを明確にする必要があります
- 12. 明示的にmalloc()の戻り値をキャストする必要がありますか?
- 13. 要素を割り当てる前にポインタ配列を割り当てる必要がありますか?
- 14. コンストラクタへのcharポインタのためにメモリを割り当てる必要はありますか?
- 15. JSONにnull値を含める必要があります
- 16. C++オブジェクトのベクトルへのポインタ、属性にアクセスする必要があります
- 17. mallocポインタを調整する
- 18. Django parent_id - NULL、空白、または0である必要がありますか?
- 19. アーキテクチャデザインパターンはいつ使用する必要がありますか?
- 20. wkWebViewはいつ使用する必要がありますか?
- 21. NSUserDefaultsDidChangeNotificationは、いつ実行する必要がありますか。
- 22. ストリームはいつ遅延する必要がありますか?
- 23. InverseBindingAdapterはいつ使用する必要がありますか?
- 24. 構造体へのポインタの配列を作成するにはmallocが必要ですか?
- 25. typescriptをes6にコンパイルする必要がありますか?es5にコンパイルする必要があります
- 26. 式は、キャスト時に完全なオブジェクト型へのポインタにする必要があります。voidポインタ
- 27. php sqlクエリはnullである必要があります
- 28. スパーク - SparkSessionは1つにする必要がありますか?
- 29. いつオブジェクトをリリースする必要がありますか?
- 30. ブロックをいつコピーする必要がありますか?
新しいメモリをポイントしたい場合は、mallocする必要があります。 NULLはメモリを指していないことを意味します。 – SLaks
'NULL'かどうかにかかわらず、ポインタのための' malloc() 'スペースは幾分珍しいです。 – EOF
@EOF:OPがあなたのコメントを理解していることを確認するために、ポインタ自体がポインタではなく、ポインタが指すmalloc()スペースがあります。 –