C++字符指针表示字符串详解

需积分: 12 8 下载量 47 浏览量 更新于2024-08-23 收藏 8.72MB PPT 举报
在C++编程中,字符指针是一种重要的数据类型,用于处理字符串。在谭浩强编著的C++课程中,"用字符指针表示字符串"这一章节介绍了如何有效地使用字符指针来操作字符串。字符指针实际上是一个存储内存地址的变量,它可以指向一个字符数组或字符串常量。 在提供的代码示例中: ```c++ void main(void) { char *string = “I love China”; // 定义字符指针,将其初始化为字符串常量"I love China"的首地址 cout << string; // 输出字符串常量 } ``` 这里的`string`是一个字符指针,它存储了字符串"I love China"在内存中的地址。在C++中,字符串常量在内存中实际上是连续的字符数组,结尾有一个特殊的空字符`\0`用来标记字符串的结束。通过指针,我们可以间接访问这个数组的元素,实现对字符串的操作。 C++语言的发展源于BCPL和B语言,尤其是C语言,它在结构化编程、灵活性、可移植性和效率方面表现出色。C++是在C的基础上发展起来的,它结合了高级语言的抽象能力和低级语言的性能,使得程序员可以编写高效且可维护的程序。C++语言的特点包括: 1. 结构化编程:C++支持函数、类和对象等结构,让程序设计有明确的层次和模块化,便于理解和维护。 2. 运算符丰富:C++提供了多种运算符,包括算术、逻辑和位运算,以及灵活的数据结构,如数组、指针和类,这使得编程更加直观和高效。 3. 高可移植性:由于C++语法相对简洁,编写出的程序可以在不同的平台上运行,只需进行少量的适应性修改。 4. 程序设计灵活性:虽然C++的语法结构不够严密,但这对于高级程序员来说,意味着更大的设计自由度,能够写出更通用的代码。然而,对于新手来说,理解和掌握C++可能需要更多的时间和实践。 调试C++程序可能较为复杂,因为语法的宽松可能导致潜在的错误。不过,通过深入理解C++的语法规则,学习如何正确使用指针和其他特性,编写和调试程序会变得可行和高效。字符指针在C++中是处理字符串的关键工具,理解并熟练运用它们对于提高编程技能至关重要。

#include<iostream> using namespace std; class Book { private: string bookname; string authtors; string publishing_house; int pages; double price; public: Book() { bookname = ""; authtors = ""; publishing_house = ""; pages = 0; price = 0; } Book(string bk, string auth, string pub, int pag,double pri) { bookname = bk; authtors = auth; publishing_house = pub; pages = pag; price = pri; } ~Book(){} string getBookname() const { return bookname; } void setBookname(char*name){ bookname=name; } string getAuthtors() const { return authtors; } void setAuthtors(char* auth) { authtors = auth; } string getPublishing_house() const { return publishing_house; } void setPublishing_house(char* pub) { publishing_house = pub; } int getPages() const { return pages; } void setPages(int pag) { pages = pag; } double getPrice() const { return price; } void setPrice(double pri) { price = pri; } }; int main() { Book book1("《C++程序设计》", "谭浩强编著", 485, "清华大学出版社", 36.00); Book book2("《吹牛大王历险记》", "拉斯伯等编著", 149, "天津人民出版社", 12.80); cout << "书名:" << book1.getBookname() << endl; cout << "作者:" << book1.getAuthtors() << endl; cout << "页数:" << book1.getPages() <<"页"<< endl; cout << "出版社:" << book1.getPublishing_house() << endl; cout << "价格:" << book1.getPrice() <<"元"<< endl; cout << endl; cout << "书名:" << book2.getBookname() << endl; cout << "作者:" << book2.getAuthtors() << endl; cout << "页数:" << book2.getPages() << "页" << endl; cout << "出版社:" << book2.getPublishing_house() << endl; cout << "价格:" << book2.getPrice() << "元" << endl; return 0; }这个代码如何修改

2023-05-19 上传