title: Why I can't declare unsigned char* test = "Some text"
body: <p>This isn't working in visual studio 2010 , it gives me the following error </p>
  
  <pre><code>void main (void)
  {
       unsigned char* test = "ATGST"; 
  
  }
  </code></pre>
  
  <p><strong>Edit 1:</strong> My question is why this works on Embedded systems, but doesn't work on PC?</p>
  
  <p><a href="https://i.stack.imgur.com/YJg7i.png" rel="noreferrer"><img src="https://i.stack.imgur.com/YJg7i.png" alt="enter image description here"></a></p>
  
  <p>But when I change it to :</p>
  
  <pre><code> char* test = "ATGST";  
  </code></pre>
  
  <p>it works.</p>
  
  <p>The main thing that I write code for embedded systems using C, and I use visual studio to test some functions so I don't have to test it in real time on a Micro-controller. </p>
  
  <p>I need an explanation, because Micro-controllers accepts the first code.   </p>