title: Maximum size of size_t on Windows 10/ mingw-w64 compiler
body: <p>I am using mingw-w64 compiler (gcc 8.1.0) on Windows 10 (64 bit installation). My expectation is to get the maximum value of <code>size_t</code> equal to (2^64 - 1). But my programs always return the value of <code>SIZE_MAX</code> as (2^32 - 1 only). What could be the reason? How can i achieve the a maximum value of (2^64 - 1) in my C programs?</p>
  
  <p>I am learning C language and wanted to check out the statement made in the book that on modern computers max size of <code>size_t</code> can be (2^64 - 1). The piece of code I tried for checking this is as below:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdint.h&gt;
  
  int main(){
      printf("%d\n", sizeof(size_t));
      printf("%zu\n", SIZE_MAX); 
      return 0;
  }
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>4
  4294967295
  </code></pre>
  
  <p>I am using only one flag <code>-std=c11</code> during compiling and <code>gcc --version</code> returns:</p>
  
  <pre><code>gcc.exe (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0
  </code></pre>