Date: Wed, 31 Jan 2007 16:51:26 +0100 From: "Claus Guttesen" <none@kometen--gmail.com.lh.bsd-dk.dk> To: bsd-dk@bsd-dk.dk Subject: c-program og to pointere core-dumper
Hej.
Jeg skal overføre nogle værdier som pointere i c, som core-dumper. For
at se hvad jeg gjorde galt, skrev jeg så dette lille program (ingen
applaus tak):
#include <stdio.h>
int print_pointer(int *);
int main(int argc, char *argv[], char *envp[]) {
int *a;
*a = 7;
print_pointer( a );
return(0);
}
int print_pointer(int *a) {
printf("a: %i\n", *a);
return (0);
}
brage~/devel/c%>cc -Wall -o pointer pointer.c
brage~/devel/c%>./pointer
Hej
a: 7
Intet nyt under solen, Med to int-pointere core-dumper den.
#include <stdio.h>
void print_pointer(int *);
int main(int argc, char *argv[], char *envp[]) {
int *a, *b;
*a = 7;
printf("Hej\n");
print_pointer(a);
*b = 9;
return(0);
}
void print_pointer(int *a) {
printf("a: %i\n", *a);
}
brage~/devel/c%>cc -Wall -o pointer pointer.c
brage~/devel/c%>./pointer
zsh: bus error ./pointer
Dette på (intel) os x 10.4.8. På FreeBSD 6.2 får ver. 2 dette:
design~/devel/c%>cc -Wall -o pointer pointer.c
design~/devel/c%>./pointer
Hej
a: 7
zsh: segmentation fault (core dumped) ./pointer
Hvorfor core-dumper den når jeg forsøger at tildele *b værdien 9?
Hilsen
Claus
This archive was generated by hypermail 2b30 : Wed 31 Jan 2007 - 23:00:05 CET