#include <stdio.h>
#include <string.h>
#define PIPE "myPipeName"
typedef enum
{
ID1,
ID2
}TEST_ID;
typedef struct
{
double dCnt;
TEST_ID id ;
}Response;
int main()
{
char pipeName[256]=PIPE;
Response res[2];
printf("1. pipeName : %s , PIPE : %s\n",pipeName,PIPE);
memset(res,0,2*sizeof(res));
printf("2. pipeName : %s , PIPE : %s\n",pipeName,PIPE);
return 0;
}
Actual о/р:Почему memset массива структуры меняет поведение программы?
- pipeName: myPipeName, ТРУБЫ: myPipeName
- pipeName:, ТРУБЫ: myPipeName
Ожидаемое о/р:
- pipeName: myPipeName, ТРУБЫ: myPipeName
- pipeName: myPipeName, ТРУБЫ: myPipeName
Пожалуйста, дайте мне знать, как я могу решить эту проблему?
'2 * sizeof (res)' ... hmmm .. –
Спасибо. Сегодня я потерял свой здравый смысл.Но я не знаю, почему вы, ребята, проголосовали. –