C指针的指针求助!!!

来源:百度知道 编辑:UC知道 时间:2024/06/05 14:44:03
#include <ansi_c.h>
#include "stdio.h"
//==============================================================================
int condata ( int label[], int sdi[], int data[], \
int ssm[], int parity[], int num, int **MSG);

int main()
{
int label[] = {0204, 0206, 0203};
int sdi[] = {1,1,1};
int data[] = {10, 20, 100};
int ssm[] = {3, 3, 3};
int parity[] = {0, 0, 0};
int *arincData;
int i,j;
arincData = (int *)malloc(sizeof(int) * 3);
condata(label, sdi, data, ssm, parity, 3, &arincData);
for(i = 0; i < 3; i++)
{
printf("the ARINC429 Data is: %d\n", &arincData+i);
}
scanf("%d", &j);
return 0;
}

int condata ( int label[], int sdi[], int data[], \
int ssm[], int parity[], int num, int **MSG )
{
int i;
for (i = 0; i < num;

应该为
*((*MSG)+i) =label[i] | sdi[i] | data[i] | ssm[i] | parity[i];

MSG是指向指针的指针,在本程序中指向指针的指针只有一个,它指向arincData指针的地址,而+1 +2 +3就是野指针了。

太长了,