title: Truncation the size of linked list from '__int64' to 'size_t
body: <p>I successfully wrote a C++ code for radix sort by creating 10 buckets. For the 10 buckets, I created them in this way:</p>
  
  <pre><code>struct node{
      struct node* next;
      long value;
  };
  
  struct node*bucket[10];
  
  for (int i=0; i&lt;10; ++i) {  
      bucket[i] = (struct node *) malloc (1000000*sizeof(struct node));
  }
  </code></pre>
  
  <p>and it is perfect done.</p>
  
  <p>But then now I need to raise the amount of my buckets to 100000. I tried to modified those buckets' size like:</p>
  
  <pre><code>struct node*bucket[100000];
  
  for (int i=0; i&lt;100000; ++i) {  
      bucket[i] = (struct node *) malloc (1000000*sizeof(struct node));
  }
  </code></pre>
  
  <p>But this time I think I can't even create those buckets. I am using Visual Studio to code, and this is in C++. The compiler gave me these warnings:</p>
  
  <blockquote>
    <p>: warning C4305: 'argument' : truncation from '__int64' to 'size_t'</p>
    
    <p>: warning C4309: 'argument' : truncation of constant value</p>
  </blockquote>
  
  <p>I searched it up in the internet, somebody says the number is too big. This is the first time I handle such a large number in the linked list. Do I need to modify anything to make this code work again?</p>
  
  <p>Thank you. Any ideas and help I will be appreciated!</p>