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
RESET(3) 1 RESET(3)
reset - Set the internal pointer of an array to its first element
SYNOPSIS
mixed reset (array &$array)
DESCRIPTION
reset(3) rewinds $array's internal pointer to the first element and returns the value of the first array element.
PARAMETERS
o $array
- The input array.
RETURN VALUES
Returns the value of the first array element, or FALSE if the array is empty.
EXAMPLES
Example #1
reset(3) example
<?php
$array = array('step one', 'step two', 'step three', 'step four');
// by default, the pointer is on the first element
echo current($array) . "<br />
"; // "step one"
// skip two steps
next($array);
next($array);
echo current($array) . "<br />
"; // "step three"
// reset pointer, start again on step one
reset($array);
echo current($array) . "<br />
"; // "step one"
?>
SEE ALSO
current(3), each(3), end(3), next(3), prev(3).
PHP Documentation Group RESET(3)