03-31-2009
Quote:
But if i try to subtract address of say &array[1] - &array[0] doesn't give the sizeof the array instead it gives 1 always. I just tried printing &array[1] and &array[0] which gives the address. When we subtract the address of begin and end variable it gives the number of bytes occupied between those two and why not in &array[1] - &array[0]. Kindly clarify.
This is because, compiler 'knows' type of array and it places instructions of pointer arithmetic using size of 'type'.
so &array[1] - &array[0] = number of elements of type of 'array' between &array[1] and &array[0]
Try this (char*)&array[1] - (char*)&array[0] or (unsigned long)(&array[1]) - (unsigned long)(&array[0])
10 More Discussions You Might Find Interesting
1. Programming
we know that sizeof never returns zero when used with structure
then why in this case it is returning zero
struct foo
{
char c;
};
void main()
{
struct foo f;
cout<<sizeof(f);
}
i am working on solaris 5.8
isn't the above function should return the size of empty structure (7 Replies)
Discussion started by: ramneek
7 Replies
2. Programming
Hello Groups
I am trying to find out ways of comparing a value from a 'c' structure to a value in another 'C' structure. the 'C' structure can be a List or liked list as it contains lot many records.
if we loop it in both the structures it is going to consume time.
I am looking for a simple... (3 Replies)
Discussion started by: dhanamurthy
3 Replies
3. Programming
Hi,
I have a following problem in C.
I have a function A in which I used to call another function (function B) and pass an array of values through array variable by using below:-
foo=functionB(array);
In functionB, i used to just return some "values" (e.g return num;) in order to pass... (1 Reply)
Discussion started by: ahjiefreak
1 Replies
4. Programming
The below code throws the error, since the size of x = 19 is not passed to the cstrCopy function.
using namespace std;
static void cstrCopy(char *x, const char*y);
int main ()
{
char x;
const string y = "UNIX FORUM";
cstrCopy(x,y.c_str());
return 0;
}
void cstrCopy(char *x,... (3 Replies)
Discussion started by: SamRoj
3 Replies
5. Programming
Hi,
There are some bewildering sizeof() questions I have in my mind. Could anyone shed some light on this?
int main() {
printf("%d\n", sizeof(main)); // Ans: 1
}
That is, the sizeof() a function identifier though it is treated internally as a pointer gives 1 byte always, why?
... (5 Replies)
Discussion started by: royalibrahim
5 Replies
6. Programming
Hi,
I have defined the class and call the sizeof(object to class) to get the size.
# include <iostream>
# include <iomanip>
using namespace std;
class sample
{
private:
int i;
float j;
char k;
public:
sample()
{
} (2 Replies)
Discussion started by: ramkrix
2 Replies
7. Programming
if i create an array of pointers to a structure "struct node" as:
struct node *r;
and create "n" number of "linked lists" and assign it to the various struct pointers r using some function with a return type as structure pointer as:
r=multiplty(.......) /*some parameters*/
is... (2 Replies)
Discussion started by: mscoder
2 Replies
8. Programming
Which data structure will be most appropriate to represent a sparse array? (1 Reply)
Discussion started by: rupeshkp728
1 Replies
9. Shell Programming and Scripting
Hai
how to find size of a file??
ex : /home/kiran/pdk/sample/calibre this is a path
In that I have to find size of a files in side a calibre(it is the folder) like .results or .summary (1 Reply)
Discussion started by: kiran425
1 Replies
10. Programming
Ignoring other considerations for a moment and in general ...
Would there be a difference in result (dot oh or execution) of:
A.
strncpy( a, b, sizeof(a) );
vs.
B.
c = sizeof(a);
strncpy( a, b, c );
My general understanding is (at least I think my understanding is) that... (10 Replies)
Discussion started by: GSalisbury
10 Replies
LEARN ABOUT HPUX
elf64_fsize
elf_fsize(3E) elf_fsize(3E)
NAME
elf32_fsize, elf64_fsize - return the size of an object file type for elf32 files, return the size of an object file type for elf64 files,
respectively.
SYNOPSIS
[flag... ] file... [library] ...
DESCRIPTION
gives the size in bytes of the 32-bit file representation of count data objects with the given type. The library uses version ver to cal-
culate the size (see elf(3E) and elf_version(3E)).
Constant values are available for the sizes of fundamental types.
Elf_Type File Size Memory Size
------------------------------------------------------
ELF_T_ADDR ELF32_FSZ_ADDR sizeof(Elf32_Addr)
ELF_T_BYTE 1 sizeof(unsigned char)
ELF_T_HALF ELF32_FSZ_HALF sizeof(Elf32_Half)
ELT_T_OFF ELF32_FSZ_OFF sizeof(Elf32_Off)
ELF_T_SWORD ELF32_FSZ_SWORD sizeof(Elf32_Sword)
ELF_T_WORD ELF32_FSZ_WORD sizeof(Elf32_Word)
returns zero if the value of type or ver is unknown. See elf_xlate(3E) for a list of the type values.
gives the size in bytes of the 64-bit file representation of count data objects with the given type. The library uses version ver to cal-
culate the size (see elf(3E) and elf_version(3E)).
Constant values are available for the sizes of fundamental types.
Elf_Type File Size Memory Size
------------------------------------------------------
ELF_T_ADDR ELF64_FSZ_ADDR sizeof(Elf64_Addr)
ELF_T_BYTE 1 sizeof(unsigned char)
ELF_T_HALF ELF64_FSZ_HALF sizeof(Elf64_Half)
ELT_T_OFF ELF64_FSZ_OFF sizeof(Elf64_Off)
ELF_T_SWORD ELF64_FSZ_SWORD sizeof(Elf64_Sword)
ELF_T_WORD ELF64_FSZ_WORD sizeof(Elf64_Word)
returns zero if the value of type or ver is unknown. See elf_xlate(3E) for a list of the type values.
SEE ALSO
elf(3E), elf_version(3E), elf_xlate(3E).
elf_fsize(3E)