How can i emulate sizeof()

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Eugeny Myunster

    How can i emulate sizeof()

    Hello all,
    How can i emulate sizeof()
    only for integers?
  • Eric Sosman

    #2
    Re: How can i emulate sizeof()

    Eugeny Myunster wrote:
    Hello all,
    How can i emulate sizeof()
    only for integers?
    You can look up to sizeof, follow its example in your comings
    and goings and doings, seek always to be true to its teachings, and
    strive unceasingly in all ways to model your own behavior after that
    of sizeof. In any dilemma, ask yourself "What would sizeof do?"
    Don't accept easy, cop-out answers (sizeof would not do so, after
    all), but spur yourself to deeper and more honest self-examination.
    Feed the hungry, heal the sick, give generously to the poor -- in
    short[*], emulate sizeof.
    [*] A kind of integer, as specified.

    --
    Eric.Sosman@sun .com

    Comment

    • Kenneth Brody

      #3
      Re: How can i emulate sizeof()

      Eugeny Myunster wrote:
      >
      Hello all,
      How can i emulate sizeof()
      only for integers?
      I'd really love to know which instructors keep giving this assignment.

      Why do you want to "emulate sizeof", when sizeof exists just for this
      purpose?

      How about:

      #define MySizeof(x) sizeof(x)

      Now you can "emulate sizeof" by using "MySizeof(int)" , for example.

      --
      +-------------------------+--------------------+-----------------------+
      | Kenneth J. Brody | www.hvcomputer.com | #include |
      | kenbrody/at\spamcop.net | www.fptech.com | <std_disclaimer .h|
      +-------------------------+--------------------+-----------------------+
      Don't e-mail me at: <mailto:ThisIsA SpamTrap@gmail. com>

      Comment

      • Keith Thompson

        #4
        Re: How can i emulate sizeof()

        Kenneth Brody <kenbrody@spamc op.netwrites:
        Eugeny Myunster wrote:
        >>
        >Hello all,
        > How can i emulate sizeof()
        > only for integers?
        >
        I'd really love to know which instructors keep giving this assignment.
        >
        Why do you want to "emulate sizeof", when sizeof exists just for this
        purpose?
        >
        How about:
        >
        #define MySizeof(x) sizeof(x)
        >
        Now you can "emulate sizeof" by using "MySizeof(int)" , for example.
        Except that the macro, unlike the sizeof operator, requires a
        parenthesized argument; you can't write "MySizeof 42".

        I'd use:

        #define MySizeof sizeof

        which is equally useful (i.e., not at all).

        A serious answer to the original poster: Why do you want to do this?
        There are ways to determine the size of an object without using the
        sizeof operator, but there's no point in using them; the sizeof
        operator exists for exactly this purpose.

        Q: How do I pound in a nail? I don't want to use a hammer.
        A: Use a hammer anyway; that's what it's for.

        Having said that, it's not entirely pointless *as an exercise*.
        Figuring out how to compute the size of something without using sizeof
        does present an opportunity to demonstrate that you understand certain
        aspects of the language. The resulting piece of code isn't going to
        be useful in itself, but then neither is the classic "hello, world"
        program; if I really want to print "hello, world" on stdout, I'll use
        echo. (There's a GNU "hello" program, for example, but it exists
        purely as a demo; it's not actually useful.) That's just the nature
        of homework assignments.

        Oh, and speaking of homework assignments: DO IT YOURSELF. What will
        you learn if we just give you the answer? We're willing to offer
        hints if you try to do it yourself, but if you want us to solve the
        problem for you, please give us your instructor's e-mail address so we
        can submit our solutions directly.

        --
        Keith Thompson (The_Other_Keit h) <kst-u@mib.org>
        Nokia
        "We must do something. This is something. Therefore, we must do this."
        -- Antony Jay and Jonathan Lynn, "Yes Minister"

        Comment

        • user923005

          #5
          Re: How can i emulate sizeof()

          On Apr 30, 9:56 am, Eugeny Myunster <b...@eugeny.ws wrote:
          Hello all,
                  How can i emulate sizeof()
                  only for integers?
          Of course, it is lunacy to use something else when you want a size,
          since the sizeof operator is perfect for that task.

          That having been said, you can make an array of 2 objects, and get an
          unsigned char pointer to the first and second object and subtract the
          pointer difference to find the size.

          E.g.

          #define StupidEvilTwist edSizeof(type,a ns) { \
          type a[2]; \
          unsigned char *start = (unsigned char *)&a[0]; \
          unsigned char *end = (unsigned char *)&a[1]; \
          *ans=end-start;}

          #include <stdio.h>
          #include <stdlib.h>

          typedef struct thingy {
          int a;
          char b;
          long c;
          } thingy;

          int main(void)
          {
          size_t size;
          size_t *psize = &size;
          StupidEvilTwist edSizeof(char, psize);
          printf("I am ashamed to say that the size of char is %u\n",
          (unsigned) size);
          StupidEvilTwist edSizeof(short, psize);
          printf("I am ashamed to say that the size of short is %u\n",
          (unsigned) size);
          StupidEvilTwist edSizeof(long, psize);
          printf("I am ashamed to say that the size of long is %u\n",
          (unsigned) size);
          StupidEvilTwist edSizeof(long long, psize);
          printf("I am ashamed to say that the size of long long is %u\n",
          (unsigned) size);
          StupidEvilTwist edSizeof(float, psize);
          printf("I am ashamed to say that the size of float is %u\n",
          (unsigned) size);
          StupidEvilTwist edSizeof(double , psize);
          printf("I am ashamed to say that the size of double is %u\n",
          (unsigned) size);
          StupidEvilTwist edSizeof(long double, psize);
          printf("I am ashamed to say that the size of long double is %u\n",
          (unsigned) size);
          StupidEvilTwist edSizeof(thingy , psize);
          printf("I am ashamed to say that the size of thingy is %u\n",
          (unsigned) size);

          return 0;
          }
          /*
          Possible output:
          I am ashamed to say that the size of char is 1
          I am ashamed to say that the size of short is 2
          I am ashamed to say that the size of long is 4
          I am ashamed to say that the size of long long is 8
          I am ashamed to say that the size of float is 4
          I am ashamed to say that the size of double is 8
          I am ashamed to say that the size of long double is 8
          I am ashamed to say that the size of thingy is 12
          */

          Comment

          • user923005

            #6
            Re: How can i emulate sizeof()

            On Apr 30, 3:06 pm, user923005 <dcor...@connx. comwrote:
            On Apr 30, 9:56 am, Eugeny Myunster <b...@eugeny.ws wrote:
            >
            Hello all,
                    How can i emulate sizeof()
                    only for integers?
            >
            Of course, it is lunacy to use something else when you want a size,
            since the sizeof operator is perfect for that task.
            >
            That having been said, you can make an array of 2 objects, and get an
            unsigned char pointer to the first and second object and subtract the
            pointer difference to find the size.
            >
            E.g.
            >
            #define StupidEvilTwist edSizeof(type,a ns) { \
            type a[2]; \
            unsigned char *start = (unsigned char *)&a[0]; \
            unsigned char *end = (unsigned char *)&a[1]; \
            *ans=end-start;}
            >
            #include <stdio.h>
            #include <stdlib.h>
            >
            typedef struct thingy {
                int             a;
                char            b;
                long            c;
            >
            }   thingy;
            >
            int             main(void)
            {
                size_t          size;
                size_t         *psize = &size;
                StupidEvilTwist edSizeof(char, psize);
                printf("I am ashamed to say that the size of char is %u\n",
            (unsigned) size);
                StupidEvilTwist edSizeof(short, psize);
                printf("I am ashamed to say that the size of short is %u\n",
            (unsigned) size);
                StupidEvilTwist edSizeof(long, psize);
                printf("I am ashamed to say that the size of long is %u\n",
            (unsigned) size);
                StupidEvilTwist edSizeof(long long, psize);
                printf("I am ashamed to say that the size of long long is %u\n",
            (unsigned) size);
                StupidEvilTwist edSizeof(float, psize);
                printf("I am ashamed to say that the size of float is %u\n",
            (unsigned) size);
                StupidEvilTwist edSizeof(double , psize);
                printf("I am ashamed to say that the size of double is %u\n",
            (unsigned) size);
                StupidEvilTwist edSizeof(long double, psize);
                printf("I am ashamed to say that the size of long double is %u\n",
            (unsigned) size);
                StupidEvilTwist edSizeof(thingy , psize);
                printf("I am ashamed to say that the size of thingy is %u\n",
            (unsigned) size);
            >
                return 0;}
            >
            /*
            Possible output:
            I am ashamed to say that the size of char is 1
            I am ashamed to say that the size of short is 2
            I am ashamed to say that the size of long is 4
            I am ashamed to say that the size of long long is 8
            I am ashamed to say that the size of float is 4
            I am ashamed to say that the size of double is 8
            I am ashamed to say that the size of long double is 8
            I am ashamed to say that the size of thingy is 12
            */
            Updated version:

            #define StupidEvilTwist edSizeof(type,a ns) { \
            type a[2]; \
            unsigned char *start = (unsigned char *)&a[0]; \
            unsigned char *end = (unsigned char *)&a[1]; \
            *ans=end-start;}

            #include <stdio.h>
            #include <stdlib.h>

            typedef struct thingy {
            int a;
            char b;
            long c;
            } thingy;

            typedef double (*PFI) ( double );

            int main(void)
            {
            size_t size;
            size_t *psize = &size;
            StupidEvilTwist edSizeof(char, psize);
            printf("I am ashamed to say that the size of char is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(short, psize);
            printf("I am ashamed to say that the size of short is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(long, psize);
            printf("I am ashamed to say that the size of long is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(long long, psize);
            printf("I am ashamed to say that the size of long long is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(float, psize);
            printf("I am ashamed to say that the size of float is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(double , psize);
            printf("I am ashamed to say that the size of double is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(long double, psize);
            printf("I am ashamed to say that the size of long double is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(thingy , psize);
            printf("I am ashamed to say that the size of thingy is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(char *, psize);
            printf("I am ashamed to say that the size of char * is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(int *, psize);
            printf("I am ashamed to say that the size of int * is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(long *, psize);
            printf("I am ashamed to say that the size of long * is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(void *, psize);
            printf("I am ashamed to say that the size of void * is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(PFI, psize);
            printf("I am ashamed to say that the size of PFI is %u\n",
            (unsigned) size);
            StupidEvilTwist edSizeof(void **, psize);
            printf("I am ashamed to say that the size of void ** is %u\n",
            (unsigned) size);

            return 0;
            }
            /*
            Possible output:
            I am ashamed to say that the size of char is 1
            I am ashamed to say that the size of short is 2
            I am ashamed to say that the size of long is 4
            I am ashamed to say that the size of long long is 8
            I am ashamed to say that the size of float is 4
            I am ashamed to say that the size of double is 8
            I am ashamed to say that the size of long double is 8
            I am ashamed to say that the size of thingy is 12
            I am ashamed to say that the size of char * is 4
            I am ashamed to say that the size of int * is 4
            I am ashamed to say that the size of long * is 4
            I am ashamed to say that the size of void * is 4
            I am ashamed to say that the size of PFI is 4
            I am ashamed to say that the size of void ** is 4
            */

            Comment

            • user923005

              #7
              Re: How can i emulate sizeof()

              On Apr 30, 3:23 pm, user923005 <dcor...@connx. comwrote:
              On Apr 30, 3:06 pm, user923005 <dcor...@connx. comwrote:
              >
              >
              >
              >
              >
              On Apr 30, 9:56 am, Eugeny Myunster <b...@eugeny.ws wrote:
              >
              Hello all,
                      How can i emulate sizeof()
                      only for integers?
              >
              Of course, it is lunacy to use something else when you want a size,
              since the sizeof operator is perfect for that task.
              >
              That having been said, you can make an array of 2 objects, and get an
              unsigned char pointer to the first and second object and subtract the
              pointer difference to find the size.
              >
              E.g.
              >
              #define StupidEvilTwist edSizeof(type,a ns) { \
              type a[2]; \
              unsigned char *start = (unsigned char *)&a[0]; \
              unsigned char *end = (unsigned char *)&a[1]; \
              *ans=end-start;}
              >
              #include <stdio.h>
              #include <stdlib.h>
              >
              typedef struct thingy {
                  int             a;
                  char            b;
                  long            c;
              >
              }   thingy;
              >
              int             main(void)
              {
                  size_t          size;
                  size_t         *psize = &size;
                  StupidEvilTwist edSizeof(char, psize);
                  printf("I am ashamed to say that the size of char is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(short, psize);
                  printf("I am ashamed to say that the size of short is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(long, psize);
                  printf("I am ashamed to say that the size of long is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(long long, psize);
                  printf("I am ashamed to say that the size of long long is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(float, psize);
                  printf("I am ashamed to say that the size of float is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(double , psize);
                  printf("I am ashamed to say that the size of double is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(long double, psize);
                  printf("I am ashamed to say that the size of long double is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(thingy , psize);
                  printf("I am ashamed to say that the size of thingy is %u\n",
              (unsigned) size);
              >
                  return 0;}
              >
              /*
              Possible output:
              I am ashamed to say that the size of char is 1
              I am ashamed to say that the size of short is 2
              I am ashamed to say that the size of long is 4
              I am ashamed to say that the size of long long is 8
              I am ashamed to say that the size of float is 4
              I am ashamed to say that the size of double is 8
              I am ashamed to say that the size of long double is 8
              I am ashamed to say that the size of thingy is 12
              */
              >
              Updated version:
              >
              #define StupidEvilTwist edSizeof(type,a ns) { \
              type a[2]; \
              unsigned char *start = (unsigned char *)&a[0]; \
              unsigned char *end = (unsigned char *)&a[1]; \
              *ans=end-start;}
              >
              #include <stdio.h>
              #include <stdlib.h>
              >
              typedef struct thingy {
                  int             a;
                  char            b;
                  long            c;
              >
              }               thingy;
              >
              typedef double (*PFI) ( double );
              >
              int             main(void)
              {
                  size_t          size;
                  size_t         *psize = &size;
                  StupidEvilTwist edSizeof(char, psize);
                  printf("I am ashamed to say that the size of char is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(short, psize);
                  printf("I am ashamed to say that the size of short is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(long, psize);
                  printf("I am ashamed to say that the size of long is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(long long, psize);
                  printf("I am ashamed to say that the size of long long is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(float, psize);
                  printf("I am ashamed to say that the size of float is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(double , psize);
                  printf("I am ashamed to say that the size of double is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(long double, psize);
                  printf("I am ashamed to say that the size of long double is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(thingy , psize);
                  printf("I am ashamed to say that the size of thingy is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(char *, psize);
                  printf("I am ashamed to say that the size of char * is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(int *, psize);
                  printf("I am ashamed to say that the size of int * is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(long *, psize);
                  printf("I am ashamed to say that the size of long * is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(void *, psize);
                  printf("I am ashamed to say that the size of void * is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(PFI, psize);
                  printf("I am ashamed to say that the size of PFI is %u\n",
              (unsigned) size);
                  StupidEvilTwist edSizeof(void **, psize);
                  printf("I am ashamed to say that the size of void ** is %u\n",
              (unsigned) size);
              >
                  return 0;}
              >
              /*
              Possible output:
              I am ashamed to say that the size of char is 1
              I am ashamed to say that the size of short is 2
              I am ashamed to say that the size of long is 4
              I am ashamed to say that the size of long long is 8
              I am ashamed to say that the size of float is 4
              I am ashamed to say that the size of double is 8
              I am ashamed to say that the size of long double is 8
              I am ashamed to say that the size of thingy is 12
              I am ashamed to say that the size of char * is 4
              I am ashamed to say that the size of int * is 4
              I am ashamed to say that the size of long * is 4
              I am ashamed to say that the size of void * is 4
              I am ashamed to say that the size of PFI is 4
              I am ashamed to say that the size of void ** is 4
              */

              The biggest problem with this method is that it works ONLY on types
              and NOT on objects of a given type.
              The sizeof operator works nicely on both.

              Comment

              • David Thompson

                #8
                Re: How can i emulate sizeof()

                On Wed, 30 Apr 2008 15:06:16 -0700 (PDT), user923005
                <dcorbit@connx. comwrote:
                On Apr 30, 9:56 am, Eugeny Myunster <b...@eugeny.ws wrote:
                Hello all,
                        How can i emulate sizeof()
                        only for integers?
                >
                Of course, it is lunacy to use something else when you want a size,
                since the sizeof operator is perfect for that task.
                >
                Concur.
                That having been said, you can make an array of 2 objects, and get an
                unsigned char pointer to the first and second object and subtract the
                pointer difference to find the size.
                >
                You don't even need an array of two: just a single object,
                and use the address-one-past. You can't (safely, portably)
                _dereference_ that address, but you can compute it.

                And downthread
                The biggest problem with this method is that it works ONLY on types
                and NOT on objects of a given type.
                The sizeof operator works nicely on both.
                Concur again. Although you can do a sizeof_type which creates and
                measures a dummy object, and a different sizeof_object which measures
                an existing object. But you still can't match the operator for sizeof
                a constant or other nonlvalue* expression such as the (hypothetical)
                return of a function or function pointer. (* Ignoring the C99 glitch
                that unintentionalll y and crazily makes almost everything an lvalue.)

                - formerly david.thompson1 || achar(64) || worldnet.att.ne t

                Comment

                • Kenny McCormack

                  #9
                  Re: How can i emulate sizeof()

                  In article <gsmf24dlbqm2ci 4tge4ph2l1avld7 6al82@4ax.com>,
                  David Thompson <dave.thompson2 @verizon.netwro te:
                  >On Wed, 30 Apr 2008 15:06:16 -0700 (PDT), user923005
                  ><dcorbit@connx .comwrote:
                  >
                  >On Apr 30, 9:56 am, Eugeny Myunster <b...@eugeny.ws wrote:
                  Hello all,
                          How can i emulate sizeof()
                          only for integers?
                  >>
                  >Of course, it is lunacy to use something else when you want a size,
                  >since the sizeof operator is perfect for that task.
                  It's not lunacy, if a woman tells you she'll sleep with you if can write
                  a program that calculates the size of an object without using the
                  built-in sizeof operator. It becomes a very worthwhile endeavor.

                  That's the problem with a lot of the answers given here. They lack
                  context.

                  Comment

                  • Eligiusz Narutowicz

                    #10
                    Re: How can i emulate sizeof()

                    gazelle@xmissio n.xmission.com (Kenny McCormack) writes:
                    In article <gsmf24dlbqm2ci 4tge4ph2l1avld7 6al82@4ax.com>,
                    David Thompson <dave.thompson2 @verizon.netwro te:
                    >>On Wed, 30 Apr 2008 15:06:16 -0700 (PDT), user923005
                    >><dcorbit@conn x.comwrote:
                    >>
                    >>On Apr 30, 9:56 am, Eugeny Myunster <b...@eugeny.ws wrote:
                    >Hello all,
                    >        How can i emulate sizeof()
                    >        only for integers?
                    >>>
                    >>Of course, it is lunacy to use something else when you want a size,
                    >>since the sizeof operator is perfect for that task.
                    >
                    It's not lunacy, if a woman tells you she'll sleep with you if can write
                    a program that calculates the size of an object without using the
                    built-in sizeof operator. It becomes a very worthwhile endeavor.
                    >
                    That's the problem with a lot of the answers given here. They lack
                    context.
                    I think the lack of context is more the problems of the question in this
                    case.

                    Comment

                    • Kenny McCormack

                      #11
                      Re: How can i emulate sizeof()

                      In article <g09ndo$d9$1@re gistered.motzar ella.org>,
                      Eligiusz Narutowicz <eligiuszdotnar u@hotmail.comwr ote:
                      ....
                      >It's not lunacy, if a woman tells you she'll sleep with you if can write
                      >a program that calculates the size of an object without using the
                      >built-in sizeof operator. It becomes a very worthwhile endeavor.
                      >>
                      >That's the problem with a lot of the answers given here. They lack
                      >context.
                      >
                      >I think the lack of context is more the problems of the question in this
                      >case.
                      >
                      I think (against the tide, I understand) that you should assume that a
                      poster has a reason for posting (as he does).

                      He should not have to justify that position beyond that which the fact
                      that he has posted has already done so.

                      Comment

                      • Richard Tobin

                        #12
                        Re: How can i emulate sizeof()

                        In article <g09ooa$om1$1@n ews.xmission.co m>,
                        Kenny McCormack <gazelle@xmissi on.xmission.com wrote:
                        >I think (against the tide, I understand) that you should assume that a
                        >poster has a reason for posting (as he does).
                        Yes, but for most of these sizeof() questions the context seems most
                        likely to be "I can't do the questions on my C test".

                        -- Richard
                        --
                        :wq

                        Comment

                        • Kenny McCormack

                          #13
                          Re: How can i emulate sizeof()

                          In article <g09qnr$16he$1@ pc-news.cogsci.ed. ac.uk>,
                          Richard Tobin <richard@cogsci .ed.ac.ukwrote:
                          >In article <g09ooa$om1$1@n ews.xmission.co m>,
                          >Kenny McCormack <gazelle@xmissi on.xmission.com wrote:
                          >
                          >>I think (against the tide, I understand) that you should assume that a
                          >>poster has a reason for posting (as he does).
                          >
                          >Yes, but for most of these sizeof() questions the context seems most
                          >likely to be "I can't do the questions on my C test".
                          >
                          >-- Richard
                          >--
                          >:wq
                          "Passing the class" is probably an even more important - and more deserving
                          reason - than "I wanna get laid".

                          Comment

                          • El-Hassan Wanas

                            #14
                            Re: How can i emulate sizeof()

                            On Apr 30, 8:26 pm, Kenneth Brody <kenbr...@spamc op.netwrote:
                            Eugeny Myunster wrote:
                            >
                            Hello all,
                                    How can i emulate sizeof()
                                    only for integers?
                            >
                            I'd really love to know which instructors keep giving this assignment.
                            >
                            Why do you want to "emulate sizeof", when sizeof exists just for this
                            purpose?
                            >
                            How about:
                            >
                                #define MySizeof(x) sizeof(x)
                            >
                            Now you can "emulate sizeof" by using "MySizeof(int)" , for example.
                            >
                            --
                            +-------------------------+--------------------+-----------------------+
                            | Kenneth J. Brody        |www.hvcomputer .com| #include              |
                            | kenbrody/at\spamcop.net |www.fptech.com    |    <std_disclaimer .h|
                            +-------------------------+--------------------+-----------------------+
                            Don't e-mail me at: <mailto:ThisIsA SpamT...@gmail. com>
                            I think it is a punishment for missing some homework or something. I
                            totally agree with the Macro approach. Ask your instructor, What is
                            the point of this assignment?, will I ever work on a project and try
                            to emulate this?

                            Comment

                            • Kenneth Brody

                              #15
                              Re: How can i emulate sizeof()

                              Kenny McCormack wrote:
                              >
                              In article <g09qnr$16he$1@ pc-news.cogsci.ed. ac.uk>,
                              Richard Tobin <richard@cogsci .ed.ac.ukwrote:
                              In article <g09ooa$om1$1@n ews.xmission.co m>,
                              Kenny McCormack <gazelle@xmissi on.xmission.com wrote:
                              >I think (against the tide, I understand) that you should assume that a
                              >poster has a reason for posting (as he does).
                              Yes, but for most of these sizeof() questions the context seems most
                              likely to be "I can't do the questions on my C test".
                              >
                              "Passing the class" is probably an even more important - and more deserving
                              reason - than "I wanna get laid".
                              Quandry:

                              Professor says "get the size of an object without using sizeof".

                              SO says "don't".

                              --
                              +-------------------------+--------------------+-----------------------+
                              | Kenneth J. Brody | www.hvcomputer.com | #include |
                              | kenbrody/at\spamcop.net | www.fptech.com | <std_disclaimer .h|
                              +-------------------------+--------------------+-----------------------+
                              Don't e-mail me at: <mailto:ThisIsA SpamTrap@gmail. com>


                              Comment

                              Working...