תלוי מה יש בין שתי השורות
קודם כל, זה שאתה מצהיר על x כעל מצביע ל-int זה לא עושה יותר מדי. x מלא בזבל. אתה צריך לאתחל אותו במשהו. עכשיו, אם (לגמרי במקרה...) המשהו יהיה מערך שגודלו יותר מ-5, אז [x[4 יהיה תקין. למשל:
int *x; x = (int *)malloc(10*sizeof(int)); if (NULL != x) { x[4] = 3; }
זה בסדר. אבל אם לא איתחלת את x, שום שימוש בו לא יהיה טוב.