C语言中指向字符串常量的指针与指向字符串数组的指针

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/datoucai502/article/details/80253909

  1. char str[] = "1234567asdf";
  2. char *pstr = str;
  3. 上面是定义了一个字符串数组及一个指向这个字符串数组的指针,可以通过这个指针对数组中的内容进行操作;
  4. 例如:*(pstr + i) = 'a';

                但是下面的情况不可以直接对数组进行操作:

  1. char *str = "1234567asdf";
  2. 这种情况下,指针指向的内容是一个字符串常量,常量是不允许被修改的,所以不可以通过这个指针对字符串进行修改的操作;
  3. 即 : *(str + i) = 'a'; 是非法的;

阅读更多

没有更多推荐了,返回首页