char str[] = "http://task.lmcjl.com"; char* p = str;//初始化字符指针,令其指向 str 数组中的字符串 char* q; // 定义一个字符指针 q = str; // 令其指向字符串的开头实际场景中,我们还会经常见到如下定义的字符串指针:
char *p = "http://task.lmcjl.com";字符串“Hello World!”存放在内存中的常量区,指针 p 指向常量区中的这个字符串。
char str[] = "http://task.lmcjl.com"; char* strPtr = str; // 初始化字符串指针,令其指向 str char character1 = strPtr[3]; // 通过下标的方式访问字符串 char character2 = *(strPtr + 3); // 通过解引用加偏移的方式访问字符串
char str[] = "http://task.lmcjl.com"; char* strPtr = str; // 初始化字符串指针,令其指向 str for (; *strPtr != '\0'; strPtr++) { std::cout << *strPtr; }这个循环将遍历整个字符串,直到遇到空字符 '\0' 结束。
#include <iostream> void displayString(const char* url) { std::cout << "字符串内容: " << url << std::endl; } int main() { char url[] = "http://task.lmcjl.com"; displayString(url); return 0; }输出结果为:
字符串内容: http://task.lmcjl.com
#include <iostream> void printLength(const char* str); int main() { char greeting[] = "http://C.lmcjl.com"; char* strPtr = greeting; std::cout << "字符串内容: " << strPtr << std::endl; // 通过指针修改字符数组 strPtr[7] = 'c'; std::cout << "修改后的字符串: " << strPtr << std::endl; // 通过指针计算字符串长度 printLength(strPtr); return 0; } void printLength(const char* str) { int length = 0; while (*str++ != '\0') { length++; } std::cout << "字符串长度: " << length << std::endl; }运行结果为:
字符串内容: http://C.lmcjl.com
修改后的字符串: http://task.lmcjl.com
字符串长度: 22
本文链接:http://task.lmcjl.com/news/17145.html