Why struct size do not match with plain sum of item's sizes? With C/C++ structs, normally, the final struct's size is the plain sum of the sizes of all its elements, but there are cases which this is not true.  I am looking at the technical answer (it has to be one) of why the following struct's size is not equal to the size of all its members:  #include &lt;iostream&gt;  struct {     int a;     long b;     char c; } typedef MyStruct;  int main() {     MyStruct sss;     std::cout &lt;&lt; "Size of int: " &lt;&lt; sizeof(int) &lt;&lt; std::endl &lt;&lt; "Size of long: " &lt;&lt; sizeof(long) &lt;&lt; std::endl &lt;&lt; "Size of char: " &lt;&lt; sizeof(char) &lt;&lt; std::endl;     std::cout &lt;&lt; "Size of MyStruct: " &lt;&lt; sizeof(sss) &lt;&lt; std::endl;     return 0; }   Thas has the following output:  Size of int: 4 Size of long: 8 Size of char: 1 Size of MyStruct: 24   So it can be seen than the size of MyStruct is not 4+8+1 (13) rather, it is actually 24, but why?
Why isn't sizeof for a struct equal to the sum of sizeof of each member? Why does the sizeof operator return a size larger for a structure than the total sizes of the structure's members?
How can I parse dates and convert time zones in Perl? Where can I find Obsidian in the Pocket Edition? I have looked everywhere for lava or obsidian in 0.7.1. I've looked all the way from top to bottom and all around, in about a 100 block diameter, but I can't find any. Where can I get some? Suppose $f:X\rightarrow Y$ is a surjection and you want to show that there exists $g:Y\rightarrow X$ s.t. $f\circ g=\mathrm{id}_Y$. You need the AC to show this.  However, suppose $f$ is a injection and you want show there is $g$ s.t. $g\circ f=\mathrm{id}_X$. Then, according to my textbook, you don't need the AC to show this.  This is counterintuitive to me, because it's like you need a special axiom to claim that an infinite product of big sets is nonempty, while you don't need one to claim that an infinite product of singleton sets is nonempty, which seems smaller than the former.  So why don't you need the AC to show the latter?  EDIT: $X$ should be nonempty.  EDIT 2: I realized (after asking this) that my question mostly concerns whether the AC is needed to say that an infinite product of finite sets is nonempty, and why. How can I limit the headphone max volume on OS X? So I hurt my ears from excessively loud music last week at work. I'm well aware of the volume down key of course, but I tend to crank it up too much throughout the day without noticing it.    I need a limiter and it needs to be system-wide, since I listen to various other sound sources aside from iTunes. This isn't really an issue on my phone, since I can set a volume limit in the iOS settings.  Is there an equivalent built-in or third-party fix for OS X Lion? How to avoid using sudo when working in /var/www? I want to stop having to use sudo everytime I work in /var/www. How can I do that? I simply want to put all of my sites into this directory and work with them without too much pain. How to configure preferred network for internet? I am connected to a LAN network and wireless network. Both provide access to internet.  Sometimes when the internet on LAN is not working, the browser simply throws an exception instead of switching to Wireless. (Wireless is on and local peer computers on wireless are connectible).  Apparently it is giving more priority to LAN. How do I increase the priority of Wireless or set it as an automatic fall back? Vandermonde identity corollary $\sum_{v=0}^{n}\frac{(2n)!}{(v!)^2(n-v)!^2}={2n \choose n}^2$ I am trying to prove this identity:  $$\sum_{v=0}^{n}\frac{(2n)!}{(v!)^2(n-v)!^2}={2n \choose n}^2$$ I think this identity (corollary of Vandermonde identity): $${n\choose 0}^2+{n\choose 1}^2+{n\choose 2}^2+\cdots+{n\choose n}^2={2n \choose n}$$ is applicable for solving it. Please give me some hints. thank you Some guy called one of my Snipplr submissions "crap" because I used if ($_SERVER['REQUEST_METHOD'] == 'POST') instead of if ($_POST)  Checking the request method seems more correct to me because that's what I really want to do. Is there some operational difference between the two or is this just a code clarity issue? How to turn off magic quotes on shared hosting? I want to turn off PHP's magic quotes.  I don't have access to php.ini.  When I tried to add php_flag magic_quotes_gpc off to my .htaccess file, I get a 500 internal server error. This is what my .htaccess file looks like:  AddType x-mapp-php5 .php php_flag magic_quotes_gpc off   Then I tried to use ini_set('magic_quotes_gpc', 'O'), but that had no effect.  How do I turn magic quotes off? I have hundreds of figures with filenames containing "#" to include using \includegraphics, I've tried packages like grffile or currfile, but none of them work. Can anyone suggest a real solution so that I don't need to change hundreds of file names? Thanks.  Update: 1. I'm using Windows. 2. When I compile it, it shows "Illegal parameter number in definition" How to determine if a string is a valid variable name? I've got a PHP script that needs to invoke a shell script but doesn't care at all about the output. The shell script makes a number of SOAP calls and is slow to complete, so I don't want to slow down the PHP request while it waits for a reply. In fact, the PHP request should be able to exit without terminating the shell process.  I've looked into the various exec(), shell_exec(), pcntl_fork(), etc. functions, but none of them seem to offer exactly what I want. (Or, if they do, it's not clear to me how.) Any suggestions? Swing's KeyListener and multiple keys pressed at the same time What does {0} mean when found in a string in C#? In a dictionary like this:  Dictionary&lt;string, string&gt; openWith = new Dictionary&lt;string, string&gt;();  openWith.Add("txt", "notepad.exe"); openWith.Add("bmp", "paint.exe"); openWith.Add("dib", "paint.exe"); openWith.Add("rtf", "wordpad.exe");  Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]);   The output is:     For Key = "rtf" value = wordpad.exe   What does the {0} mean? How to access folder named "x y" (x space y) using Ubuntu Bash script in Windows? Why is $(2, 1+\sqrt{-5})$ not principal? Why is $(2, 1+\sqrt{-5})$ not principal in $\mathbb{Z}[\sqrt{-5}]$?   Say $(2,1+\sqrt{-5})=(\alpha)$, then since $2\in(2,1+\sqrt{-5})$ we have $2\in (\alpha)$, so $\alpha\mid2$ in $\mathbb Z[\sqrt{-5}]$. Writing $2=\alpha\beta$ in $\mathbb Z[\sqrt{-5}]$ and taking norms, $4=N(\alpha)N(\beta)$ in $\mathbb Z$, so $N(\alpha)\mid4$ in $\mathbb Z$. Similarly, since $\sqrt{-5}\in(\alpha)$ we get $N(\alpha)\mid5$, thus $N(\alpha)$ is a common divisor of $4$ and $5$, therefore $N(\alpha)=(1)$, so $\alpha$ is a unit. But that means $1\in (2,1+\sqrt{-5})=(\alpha)$, so it must be the whole ring, but it cannot to reach a contradiction, so how can I find an element, which is not in $(2, 1+\sqrt{-5})$.  Or is there a simpler method ? (Maybe not UFD would imply not PID) When running sudo apt-get update I get these following errors:  Err archive.ubuntu.com quantal InRelease Err archive.ubuntu.com quantal-updates InRelease Err archive.ubuntu.com quantal-backports InRelease Err archive.ubuntu.com quantal-security InRelease Err archive.ubuntu.com quantal Release.gpg   Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80] Err archive.ubuntu.com quantal-updates Release.gpg   Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80] Err archive.ubuntu.com quantal-backports Release.gpg   Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80] Err archive.ubuntu.com quantal-security Release.gpg   Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80] Reading package lists... Done W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal/InRelease   W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-updates/InRelease   W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-backports/InRelease   W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-security/InRelease   W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal/Release.gpg  Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80] W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-updates/Release.gpg  Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80] W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-backports/Release.gpg  Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80] W: Failed to fetch archive.ubuntu.com/ubuntu/dists/quantal-security/Release.gpg  Unable to connect to archive.ubuntu.com:http: [IP: 91.189.92.177 80] W: Some index files failed to download. They have been ignored, or old ones used instead.   I am using Ubuntu 12.04. This is the command I used after installing Ubuntu from window installer. I am sure my laptop is connected to internet. What can I do now? Should outdated answers be voted down? On Stack Overflow, there are many questions that relate to currently-developing technologies such as HTML5 and CSS3. The accepted answers to these questions may become outdated, and better answers may appear. However, because the answers are accepted, it is likely that they will continue to be upvoted by users reading the answers, and the OP will likely not notice that a better, more up-to-date answer may exist.  Should these outdated answers be voted down? If not, what should we do with them? How to calculate $\lim \limits_{n \to \infty}(1 +\frac{a}{n})^n$? I know what solution is $e^a$ but I don't know how to calculate this limit:  $$\lim \limits_{n \to \infty}\left(1 + \frac{a}{n}\right)^n=e^a$$  Can someone explain the steps to me? Android app should send edits to edit queue if necessary rather than rejecting them