char *p = "string literal"; p = 'S';
char a = "string literal"; a = 'S';
1. What is the main difference between these two?
2. What really happens in the memory when these two are defined?
3. Why modifying the first one results in undefined behavior?
4. I read somewhere that first one may store in read-only memory; my question is: how does that happen?
以上就是Given char *p = "string", why does modification result in undefined behavior?的详细内容，更多请关注web前端其它相关文章！