参照によってポインタを渡すと、プログラムがクラッシュします

カイヤハ

オブジェクトの初期化中に(initプロシージャを使用してメモリが割り当てられたクラスを作成しようとしていますプログラムsegfaultは実行時にクラッシュします。私が知っているように、これは私が参照によってポインタを渡すために引き起こされます**sequenceプロシージャコールの前にメモリを割り当てても、セグメンテーション違反が発生します。そして、ポインタを純粋な値として渡すと*sequence、障害はなくなります。参照によってポインタを渡すことはできませんか?

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>

typedef struct
{
    int *sequence;
} set;

void init(int **sequence, unsigned amount, ...)
{    
    va_list args;
    va_start(args, amount);

    *sequence = malloc(amount * sizeof(**sequence));

    for (unsigned i = 0; i < amount; i++)
        *sequence[i] = va_arg(args, int);
    
    va_end(args);
}

int main(void)
{
    set x;   
    init(&x.sequence, 5, 0, 1, 2, 3, 4);

    for (char i = 0; i < 5; i++)
        printf("%u\t", x.sequence[i]);
}
トム・カルゼス

これを変える:

*sequence[i] = va_arg(args, int);

これに:

(*sequence)[i] = va_arg(args, int);

[]オペレータが結合するより緊密より*ので、括弧は、所望のグループ化を得るために必要とされます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ポインタの内容を取得しようとするとプログラムがクラッシュする

分類Dev

構造体ポインタでfree()を使用すると、プログラムがクラッシュします

分類Dev

ポインタ配列の配列をfree()しようとすると、特定の値でプログラムがクラッシュします

分類Dev

if条件を使用してポインタがNULLかどうかを確認しているときに、C ++プログラムがクラッシュする

分類Dev

一意のポインタを使用して関数を呼び出すと、プログラムがクラッシュします

分類Dev

参照によってポインタを渡そうとすると、このエラーが発生します

分類Dev

参照によってポインタを渡すときにエラーが発生しました

分類Dev

malloc()されたcharポインタでfree()を呼び出すと、プログラムが無効なポインタでクラッシュします

分類Dev

ヒープを指すポインタを削除するとプログラムがクラッシュしますか?

分類Dev

条件付きで割り当てられたメモリを保持するポインタでfreeを使用しているときに、プログラムがクラッシュすることがあります

分類Dev

テキストファイルから単語を読み取ってリンクリストに追加しようとすると、プログラムがクラッシュし、理由がわかりません

分類Dev

free()を使用すると、Cのプログラムがランダムにクラッシュします

分類Dev

ラムダをダバグしたいのですが、パイプラインスタックによってデプロイされた場合、cdkシンセにはラムダリソースが含まれていません

分類Dev

新しいQGraphicsItemをシーンに追加すると、c ++プログラムがクラッシュします

分類Dev

スライダーの値を更新すると、プログラムが常にクラッシュします

分類Dev

C関数ポインタがプログラムをクラッシュさせますか?

分類Dev

ラムダを関数ポインターに変換するとC ++プログラムがクラッシュする理由

分類Dev

割り当てスタックトレースを表示するときにプログラムがクラッシュしないようにする

分類Dev

Cの整数にdoubleを割り当てると、プログラムがクラッシュします

分類Dev

int *&を使用して参照によってポインタを渡すと、奇妙な問題が発生します

分類Dev

PdfReaderのインスタンスを作成すると、例外がスローされ、プログラムがクラッシュします

分類Dev

WPFでプログラムによってListViewItemにクリックイベントを作成します

分類Dev

構造体へのポインタを解放すると、プログラムが「スタック」します

分類Dev

Brainfuckによってアセンブリコンパイラに作成されたプログラムがクラッシュするのはなぜですか?

分類Dev

SwiftiOS。ボタンの配列を変更しようとすると、プログラムがクラッシュします

分類Dev

ポインタの値を変数にコピーします。ポインタは引数として渡されますCプログラム

分類Dev

プログラムはコンパイルしますが、理由 255 (CodeBlocks) を理由にクラッシュすることがあります。

分類Dev

パイプを介してmplayerにデータを送信するとプログラムがクラッシュする

分類Dev

システム間キャッシュオブジェクトスクリプトは、参照によりパラメータとしてプロパティを渡します

Related 関連記事

  1. 1

    ポインタの内容を取得しようとするとプログラムがクラッシュする

  2. 2

    構造体ポインタでfree()を使用すると、プログラムがクラッシュします

  3. 3

    ポインタ配列の配列をfree()しようとすると、特定の値でプログラムがクラッシュします

  4. 4

    if条件を使用してポインタがNULLかどうかを確認しているときに、C ++プログラムがクラッシュする

  5. 5

    一意のポインタを使用して関数を呼び出すと、プログラムがクラッシュします

  6. 6

    参照によってポインタを渡そうとすると、このエラーが発生します

  7. 7

    参照によってポインタを渡すときにエラーが発生しました

  8. 8

    malloc()されたcharポインタでfree()を呼び出すと、プログラムが無効なポインタでクラッシュします

  9. 9

    ヒープを指すポインタを削除するとプログラムがクラッシュしますか?

  10. 10

    条件付きで割り当てられたメモリを保持するポインタでfreeを使用しているときに、プログラムがクラッシュすることがあります

  11. 11

    テキストファイルから単語を読み取ってリンクリストに追加しようとすると、プログラムがクラッシュし、理由がわかりません

  12. 12

    free()を使用すると、Cのプログラムがランダムにクラッシュします

  13. 13

    ラムダをダバグしたいのですが、パイプラインスタックによってデプロイされた場合、cdkシンセにはラムダリソースが含まれていません

  14. 14

    新しいQGraphicsItemをシーンに追加すると、c ++プログラムがクラッシュします

  15. 15

    スライダーの値を更新すると、プログラムが常にクラッシュします

  16. 16

    C関数ポインタがプログラムをクラッシュさせますか?

  17. 17

    ラムダを関数ポインターに変換するとC ++プログラムがクラッシュする理由

  18. 18

    割り当てスタックトレースを表示するときにプログラムがクラッシュしないようにする

  19. 19

    Cの整数にdoubleを割り当てると、プログラムがクラッシュします

  20. 20

    int *&を使用して参照によってポインタを渡すと、奇妙な問題が発生します

  21. 21

    PdfReaderのインスタンスを作成すると、例外がスローされ、プログラムがクラッシュします

  22. 22

    WPFでプログラムによってListViewItemにクリックイベントを作成します

  23. 23

    構造体へのポインタを解放すると、プログラムが「スタック」します

  24. 24

    Brainfuckによってアセンブリコンパイラに作成されたプログラムがクラッシュするのはなぜですか?

  25. 25

    SwiftiOS。ボタンの配列を変更しようとすると、プログラムがクラッシュします

  26. 26

    ポインタの値を変数にコピーします。ポインタは引数として渡されますCプログラム

  27. 27

    プログラムはコンパイルしますが、理由 255 (CodeBlocks) を理由にクラッシュすることがあります。

  28. 28

    パイプを介してmplayerにデータを送信するとプログラムがクラッシュする

  29. 29

    システム間キャッシュオブジェクトスクリプトは、参照によりパラメータとしてプロパティを渡します

ホットタグ

アーカイブ