מצביע למערך - שפת C
#include <stdio.h>
#include <stdlib.h>
int arr[5]={1,2,3,4,5};
int newA[5]={0};
int s1,s2,s3,s4,s5,s6, *p;
int main()
{
p = arr;
for (int i=0;i<5;i++)
{
newA=*(p+i);
}
//s1=*(p+0);
//s2=*(p+1);
//s3=*(p+2);
//s4=*(p+3);
//s5=*(p+4);
return 0;
}
אני מנסה להעתיק ע"י פויינטר ממערך אחד למערך שני.
הקומפילציה עוברת אבל הבעיה היא שני מריץ סימולציה יש התראה על חריגת זיכרון מהשורה
newA=*(p+i);
מה לא תקין בשורה הזו ?
תודה.
#include <stdio.h>
#include <stdlib.h>
int arr[5]={1,2,3,4,5};
int newA[5]={0};
int s1,s2,s3,s4,s5,s6, *p;
int main()
{
p = arr;
for (int i=0;i<5;i++)
{
newA=*(p+i);
}
//s1=*(p+0);
//s2=*(p+1);
//s3=*(p+2);
//s4=*(p+3);
//s5=*(p+4);
return 0;
}
אני מנסה להעתיק ע"י פויינטר ממערך אחד למערך שני.
הקומפילציה עוברת אבל הבעיה היא שני מריץ סימולציה יש התראה על חריגת זיכרון מהשורה
newA=*(p+i);
מה לא תקין בשורה הזו ?
תודה.