הסבר קוד C++
יש לי קוד שאני אמורה לפרט מה קורה בכל שורה.
אני מבינה מה קורה בתוך הפונקציה,הבעיה שלי היא להבין את מה שהולך בתוכנית הראשית,פוינטרים,מה חוזר למה מהפונקציה,למה וכו'
אשמח לקבל הסבר.
ניסיתי לשבת על זה הרבה ובאמת שאני לא מבינה.
תודה רבה.
#include <stdio.h>
#include <stdlib.h>
int* func(int vec[],int n);
void main(){
int i, vec[10]={0}, *ptr, *ptr1;
int k=sizeof(vec)/sizeof(vec[0]);
ptr = func(vec ,k);
ptr1=ptr+k-1;
printf("in main :\n");
for(i=0; i<k; i++){
vec=*(ptr1-i);
printf("%3d, %3d\n",vec,*(ptr+i));
}
free((void *)ptr);
getch();
}
int* func(int vec[],int n){
int i,*ptr;
ptr=(int*)malloc(n*sizeof(int));
if(!ptr){printf("alloc failed"); getch();exit(1);}
for(i=0;i<n;i++){
vec=n-i;
*(ptr+i)=i*i;
printf("%3d, %3d\n",vec,*(ptr+i));
}
return ptr;
}
יש לי קוד שאני אמורה לפרט מה קורה בכל שורה.
אני מבינה מה קורה בתוך הפונקציה,הבעיה שלי היא להבין את מה שהולך בתוכנית הראשית,פוינטרים,מה חוזר למה מהפונקציה,למה וכו'
אשמח לקבל הסבר.
ניסיתי לשבת על זה הרבה ובאמת שאני לא מבינה.
תודה רבה.
#include <stdio.h>
#include <stdlib.h>
int* func(int vec[],int n);
void main(){
int i, vec[10]={0}, *ptr, *ptr1;
int k=sizeof(vec)/sizeof(vec[0]);
ptr = func(vec ,k);
ptr1=ptr+k-1;
printf("in main :\n");
for(i=0; i<k; i++){
vec=*(ptr1-i);
printf("%3d, %3d\n",vec,*(ptr+i));
}
free((void *)ptr);
getch();
}
int* func(int vec[],int n){
int i,*ptr;
ptr=(int*)malloc(n*sizeof(int));
if(!ptr){printf("alloc failed"); getch();exit(1);}
for(i=0;i<n;i++){
vec=n-i;
*(ptr+i)=i*i;
printf("%3d, %3d\n",vec,*(ptr+i));
}
return ptr;
}