Sponsored Content
Top Forums Programming Swap call by reference confusion Post 302889406 by Corona688 on Thursday 20th of February 2014 10:46:39 AM
Old 02-20-2014
Quote:
Originally Posted by yifangt
Thanks Don!
Good I thought the same way on your swap1() function as you interpreted!
Then how is my way read?
Code:
void swap1 (int *x, int *y) 
{  
 int t;   
t = *x;   
x = y;       //Line 23
y = &t;      //Line 24
}

The reason I posted here is there was no error or warning, and it did not work the way I supposed. I must have missed important thing.
Imagine that x and y are just integers. What, exactly, will these two statements cause to happen outside the function?

Code:
x = y;
y = (anything at all);

If you said 'absolutely nothing', you are correct... The integers are passed by value, changing their value does not change anything outside the function.

Now switch them out for pointers again... What changes? Once again, absolutely nothing. You changed the values of X and Y, not their contents. Pointers are just fancy integers. Assigning something to a pointer does not magically change its contents.

Code:
// Assigning a value to a pointer
x = somethingelse;
// Assigning a value to the contents of a pointer
(*x) = somethingelse;


Last edited by Corona688; 02-20-2014 at 11:57 AM..
 

8 More Discussions You Might Find Interesting

1. Solaris

RAM and SWAP confusion

Hi Folks, This is my first post here - so nice to meet u all :-) Recently i was trying to dig a little bit into the memory structure of my machine and due to the lack of concept, cannot figure out a calculation. This is how it goes: 1) My swap slice is at the usual /dev/dsk/c0t1d0s1... (0 Replies)
Discussion started by: s4g3
0 Replies

2. Solaris

Swap config - Mirror swap or not?

Hello and thanks in advance. I have a Sun box with raid 1 on the O/S disks using solaris svm. I want to unmirror my swap partition, and add the slice on the second disk as an additional swap device. This would give me twice as much swap space. I have been warned not to do this by some... (3 Replies)
Discussion started by: BG_JrAdmin
3 Replies

3. Infrastructure Monitoring

diffrence between method call and function call in perl

Hello, I have a problem with package and name space. require "/Mehran/DSGateEngineLib/general.pl"; use strict; sub System_Status_Main_Service_Status_Intrusion_Prevention { my %idpstatus; my @result; &General_ReadHash("/var/dsg/idp/settings",\%idpstatus); #print... (4 Replies)
Discussion started by: Zaxon
4 Replies

4. HP-UX

Swap device file and swap sapce

Hi I have an integrity machine rx7620 and rx8640 running hp-ux 11.31. I'm planning to fine tune the system: - I would like to know when does the memory swap space spill over to the device swap space? - And how much % of memory swap utilization should be specified (swap space device... (6 Replies)
Discussion started by: lamoul
6 Replies

5. Programming

call by reference

Ive just started programming in C and am confused with the output of the code void main() { int a=10; int b=20; swapr(a++,b++); printf("%d %d",a,b); } swapr (int *x,int *y) { x+=2; y+=3; } the output of the code is 11,21 which is confusing. first its... (3 Replies)
Discussion started by: ra2000
3 Replies

6. UNIX for Dummies Questions & Answers

[Query] Confusion of the Swap when using 'free -m' command

Hi All, I have just installed my first Linux server ( Ubuntu 11.10 ). I am sure I didn't allocate /swap , and double check by 'df -h', yes really no /swap but when I use 'free -m' , returned a "Swap" line as below. total used free shared buffers cached Mem: ... (3 Replies)
Discussion started by: joaming
3 Replies

7. Shell Programming and Scripting

Perl de-reference code reference variable

Guys, May i know how can we de reference the code reference variable.? my $a = sub{$a=shift;$b=shift;print "SUM:",($a+$b),"\n";}; print $a->(4,5); How can we print the whole function ? Please suggest me regarding this. Thanks for your time :) Cheers, Ranga :) (0 Replies)
Discussion started by: rangarasan
0 Replies

8. Solaris

Explain the output of swap -s and swap -l

Hi Solaris Folks :), I need to calculate the swap usage on solaris server, please let me understand the output of below swap -s and swap -l commands. $swap -s total: 1774912k bytes allocated + 240616k reserved = 2015528k used, 14542512k available $swap -l swapfile dev swaplo... (6 Replies)
Discussion started by: seenuvasan1985
6 Replies
set_color(1)							       fish							      set_color(1)

NAME
set_color - set_color - set the terminal color set_color - set the terminal color Synopsis set_color [-v --version] [-h --help] [-b --background COLOR] [COLOR] Description Change the foreground and/or background color of the terminal. COLOR is one of black, red, green, brown, yellow, blue, magenta, purple, cyan, white and normal. o -b, --background Set the background color o -c, --print-colors Prints a list of all valid color names o -h, --help Display help message and exit o -o, --bold Set bold or extra bright mode o -u, --underline Set underlined mode o -v, --version Display version and exit Calling set_color normal will set the terminal color to whatever is the default color of the terminal. Some terminals use the --bold escape sequence to switch to a brighter color set. On such terminals, set_color white will result in a grey font color, while set_color --bold white will result in a white font color. Not all terminal emulators support all these features. This is not a bug in set_color but a missing feature in the terminal emulator. set_color uses the terminfo database to look up how to change terminal colors on whatever terminal is in use. Some systems have old and incomplete terminfo databases, and may lack color information for terminals that support it. Download and install the latest version of ncurses and recompile fish against it in order to fix this issue. Version 1.23.1 Sun Jan 8 2012 set_color(1)
All times are GMT -4. The time now is 12:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy