首页 > 代码库 > c之指向常字符串的指针做加法
c之指向常字符串的指针做加法
先看一小段代码
#include<string.h>int main(){ size_t len = 0; const char* id = "abcdefghijklmn"; len = strlen(id); if (len > 3) { id += len - 3 ; } return 0;}
乍一看,觉得这段代码一定是有问题,id是一个指向常量字符串的指针,还能做加减?
但是,指针当然能做加减呀。id不是一个常指针,当然能够改变,就算id是一个常指针,也可以改变,但是这里就不讨论这个问题了。
id += len -3; //id向后移动len-3个char类型的长度,即len-3个字节
因此,id = "lmn"
这里id也可以做减法,但是减法会产生内存溢出,慎用。
c之指向常字符串的指针做加法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。