Module Name:    src
Committed By:   jruoho
Date:           Fri Apr  1 05:24:37 UTC 2011

Modified Files:
        src/share/man/man3: offsetof.3

Log Message:
Add example.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/share/man/man3/offsetof.3

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man3/offsetof.3
diff -u src/share/man/man3/offsetof.3:1.3 src/share/man/man3/offsetof.3:1.4
--- src/share/man/man3/offsetof.3:1.3	Sun Dec 19 08:10:09 2010
+++ src/share/man/man3/offsetof.3	Fri Apr  1 05:24:37 2011
@@ -1,4 +1,4 @@
-.\"	$NetBSD: offsetof.3,v 1.3 2010/12/19 08:10:09 jruoho Exp $
+.\"	$NetBSD: offsetof.3,v 1.4 2011/04/01 05:24:37 jruoho Exp $
 .\"
 .\"	$OpenBSD: offsetof.3,v 1.2 2010/02/18 18:30:19 jmc Exp $
 .\"
@@ -17,7 +17,7 @@
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
 .\"
-.Dd December 19, 2010
+.Dd April 1, 2011
 .Dt OFFSETOF 3
 .Os
 .Sh NAME
@@ -41,6 +41,26 @@
 A compiler error will result if
 .Ar member
 is not aligned to a byte boundary (i.e. it is a bit-field).
+.Sh EXAMPLES
+Regardless of the architecture and the
+.Tn ABI ,
+the following example prints the value zero for the variable
+.Va x .
+.Bd -literal -offset indent
+struct example {
+	double	x;
+	int	y;
+	char	z;
+};
+
+size_t x, y, z;
+
+x = offsetof(struct example, x);
+y = offsetof(struct example, y);
+z = offsetof(struct example, z);
+
+(void)printf(\*[q]%zu %zu %zu\en\*[q], x, y, z);
+.Ed
 .Sh SEE ALSO
 .Xr __alignof__ 3 ,
 .Xr stddef 3 ,

Reply via email to