Я новичок в кодировании.
На самом деле я играю и экспериментирую с указателями, функциями и пустыми указателями.
Я написал простую программу для увеличения количества "f"по различным функциям.
Пока этот код работает хорошо, но я получаю предупреждение из темы.
Что здесь делать?
Появляется предупреждениеэта строка: "b=*(int*)a;
"
#include <stdio.h>
void test (int *a);
void test2 (int d);
void *stage (const void*);
void *stage2(const void*);
int main() {
int f=0;
//test(&e);
//test2(e);
if (f==0) {
stage(&f);
printf("\n%d",f);
}
if (f==1) {
stage(&f);
printf("\n%d",f);
}
if (f==2) {
f=*(long*)stage2(&f);
printf("\n%d",f);
}
if (f==3) {
f=*(long*)stage2(&f);
printf("\n%d",f);
}
return 0;
}
void test(int *a) {
int b=3;
int c=2;
*a=b+c;
}
void test2(int d) {
d++;
//printf("%d",d);
}
void *stage (const void*num) {
long nr;
nr=(*(int*)num)++;
return (void*)nr;
}
void *stage2(const void*a) {
static void *b;
b=*(int*)a;
if (b==(int*)2)
b+=1;
else if (b==(int*)3)
b+=6;
return &b;
}