2つのプロセス間で文字列を共有する必要があるプログラムがあります。の配列を含む構造体を宣言しました*char
。この構造体は、メインプロセスがフォークされる前に割り当てられshmget
ます。shmat
typedef struct Queue
{
int index;
char *directory[10];
} Queue;
プロセスの1つで、値を設定しようとします:(data->dir_name
は*char
"/ data1"などの文字列になります)
queue->directory[i] = data->dir_name; // Option 1
queue->directory[i] = "foo"; // Option 2
私の質問は、上記の最初のステートメントと2番目のステートメントの違いは何ですか?に設定するqueue->directory[i]
と"foo"
、他のプロセスがそれを認識します。ただし、値を渡すと、渡さdata->dir_name
れません。
前もって感謝します!