Я пытался сравнить и "массивы", и "указатели как массивы". Когда я запускаю части 1 и 2 отдельно, они выполняются нормально, но когда я запускаю весь код, я получаю ошибку сегментации.
#include<stdio.h>
int main(){
int *p;
int arr[5],i,var;
//PART-1
p=&var;
for(i=0;i<5;i++){
*(p+i)=i+1;
}
printf("\n\nPointers: ");
for(i=0;i<5;i++){
printf("%d ",*(p+i));
}
//PART-2
for(i=0;i<5;i++){
arr[i]=i+1;
}
printf("Array: ");
for(i=0;i<5;i++){
printf("%d ",arr[i]);
}
return 0;
}
Этот код работает нормально:
#include <stdio.h>
int main()
{
int *p;
int arr[5],i,var;
p=&var;
for(i=0;i<5;i++){
*(p+i)=i+1;
}
printf("\n\nPointers: ");
for(i=0;i<5;i++){
printf("%d ",*(p+i));
}
return 0;
}