Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Build Error: error: dereferencing pointer to incomplete type Post 302307955 by quirkasaurus on Thursday 16th of April 2009 05:20:21 PM
Old 04-16-2009
why modify my suggestion and then complain when it doesn't work?

Here is how this stuff is supposed to work:

Code:
#include <stdio.h>
#include <string.h>

struct hdr {
  int x;
  long y;
  char z[16];
  };

struct hdr *iphdr;
struct hdr ethhdr;



int main()
{

ethhdr.x = 7;
ethhdr.y = 81;
strcpy( ethhdr.z, "frogs" );

iphdr = (void *)((long)&ethhdr + (long)sizeof(&ethhdr));

(void)printf( "address becomes: |%x|\n", &ethhdr );
(void)printf( "address becomes: |%x|\n", iphdr );

return 0;
}

OUTPUT:

Code:
address becomes: |20e54|
address becomes: |20e58|

But this line:

Code:
iphdr = (void *)((long)&ethhdr + (long)sizeof(&ethhdr));

can serve no useful purpose.
it is a bug. it's wrong. etc...
 

10 More Discussions You Might Find Interesting

1. Programming

Accesing structure member:Error:dereferencing pointer to incomplete type

$ gcc -Wall -Werror struct.c struct.c: In function `main': struct.c:18: error: dereferencing pointer to incomplete type $ cat struct.c #include <stdio.h> #include <stdlib.h> #include <string.h> /*Declaration of structure*/ struct human { char *first; char gender; int age; } man,... (3 Replies)
Discussion started by: amit4g
3 Replies

2. Programming

array type has incomplete element type

Dear colleagues, One of my friend have a problem with c code. While compiling a c program it displays a message like "array type has incomplete element type". Any body can provide a solution for it. Jaganadh.G (1 Reply)
Discussion started by: jaganadh
1 Replies

3. Programming

error: field has incomplete type

Hello there, Here is how it goes - I have written a small test driver as an exercise to "Linux Device Drivers" and as a preparation for writing a real, functional driver. For the sake of seeing how far I got it working (I already implemented the open(0, read(), write() and ioctl() calls) I... (4 Replies)
Discussion started by: boyanov
4 Replies

4. Solaris

make[2]: warning: Clock skew detected. Your build may be incomplete.

dear all when i compile any file under solaris it gives the below warning how can i disable it -bash-3.00$ make GNLPFT177 make: Warning: File `GNLPFT177.rc' has modification time 36 s in the future make GNLPFT177.c make: Entering directory `/devapp/jordev/batch/source' make: Warning: File... (3 Replies)
Discussion started by: murad.jaber
3 Replies

5. Programming

error: field `fatx_i' has incomplete type

I'm trying to compile a 2.4.26 kernel but I have to apply two patches to it. The patches are: linux-2.4.26-xbox.patch openMosix-2.4.26-1 This is the reason that it doesn't compile. There is only one error but I'm not familiar with C or C++(Unfortunately only Java and some lower-level... (2 Replies)
Discussion started by: lateralus01
2 Replies

6. Programming

Dereferencing pointer to incomplete type

// Hello all, I am having this error "Dereferencing pointer to incomplete type " on these 2 lines: xpoint = my_point->x; ypoint = my_point->y; I am having no clue y this is happening. Any help would be greately appreciated!!!! #include<stdio.h> #include<string.h>... (2 Replies)
Discussion started by: mind@work
2 Replies

7. Programming

Dereferencing pointer to a shared memory struct

I have what should be a relatively simple program (fadec.c) that maps a struct from an included header file (fadec.h) to a shared memory region, but I’m struggling accessing members in the struct from the pointer returned by shmat. Ultimately, I want to access members in the shared memory structure... (2 Replies)
Discussion started by: arette
2 Replies

8. UNIX for Advanced & Expert Users

find -exec with 2 commands doesn't work (error incomplete staement)

Hi Gurues, I need to modify an existing script that uses find to search a folder, and then move its contents to a folder. What I need to do is run gzip on each file after it's moved. So, I ran this little test: Put a ls.tar file on my $HOME, mkdir tmp, and then: virtuo@tnpmprd01: find .... (3 Replies)
Discussion started by: llagos
3 Replies

9. Programming

Compilation Error: dereferencing pointer to incomplete type

I am getting a dereferencing pointer to incomplete type error when i compile the following code on lines highlighted in red. Can anyone help me in identifying what is wrong in the code? #include<stdio.h> #include<stdlib.h> typedef struct{ int info; struct node* link ; } node; void... (3 Replies)
Discussion started by: sreeharshasn
3 Replies

10. Programming

Warning: pointer type mismatch

Hi all, I'm new programming in C, so I had the next message in my code: Dual.c:88:20: warning: pointer type mismatch in conditional expression : &clientSa.sin6.sin6.sin6_addr, Any help would be great #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include... (1 Reply)
Discussion started by: godna
1 Replies
OFFSETOF(3)						     Linux Programmer's Manual						       OFFSETOF(3)

NAME
offsetof - offset of a structure member SYNOPSIS
#include <stddef.h> size_t offsetof(type, member); DESCRIPTION
The macro offsetof() returns the offset of the field member from the start of the structure type. This macro is useful because the sizes of the fields that compose a structure can vary across implementations, and compilers may insert different numbers of padding bytes between fields. Consequently, an element's offset is not necessarily given by the sum of the sizes of the previous elements. A compiler error will result if member is not aligned to a byte boundary (i.e., it is a bit field). RETURN VALUE
offsetof() returns the offset of the given member within the given type, in units of bytes. CONFORMING TO
C89, C99, POSIX.1-2001. EXAMPLE
On a Linux/i386 system, when compiled using the default gcc(1) options, the program below produces the following output: $ ./a.out offsets: i=0; c=4; d=8 a=16 sizeof(struct s)=16 Program source #include <stddef.h> #include <stdio.h> #include <stdlib.h> int main(void) { struct s { int i; char c; double d; char a[]; }; /* Output is compiler dependent */ printf("offsets: i=%ld; c=%ld; d=%ld a=%ld ", (long) offsetof(struct s, i), (long) offsetof(struct s, c), (long) offsetof(struct s, d), (long) offsetof(struct s, a)); printf("sizeof(struct s)=%ld ", (long) sizeof(struct s)); exit(EXIT_SUCCESS); } COLOPHON
This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. GNU
2008-07-12 OFFSETOF(3)
All times are GMT -4. The time now is 06:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy