[数据结构复习]字符串1
来源:互联网 发布:零基础怎么学习seo 编辑:程序博客网 时间:2024/04/30 22:18
1:自已编写求字符串长度函数size_t strlen(const char *s) ==> int Stringlength(const char *s)
[知识点]: (摘自高质量程序设计指南--C++/C语言 第二版)
1: 字符指针的误区:当你使用字符指针来引用一个字符变量的时候,千万要当心,因为C++/C默认char* 表示字符串.例如:
char ch="a"; //用"a"来初使化字符变量
char *pChar=&ch; //字符指针指向字符变量
cout<<pChar<<endl; //错把字符当做字符串
正确的用法是:
cout<<*pChar<<endl; //取一个字符
2:用const修饰函数返回值: 如果给 "指针传递" 的函数返回值加const修饰符,那么函数返回值是一种契约性常量,不能被直接修改,并且该返回值只能被赋值给加const修饰的同类型指针(除非强制转型).例如函数:
const char *GetString(void);
则如下语句将出现编译错误 :
char *str = GetString();
正确用法是:
const char* str = GetString();
====代码部分:以下代码在Visal C++6.0环境下编译通过====
/*int Stringlength(const char *s)*/
#include<iostream.h>
#include <stdlib.h>
int Stringlength(const char *s)
{
//cout<<s<<endl; //输出值s并非字符串地址,而是字符串,见[知识点一]
if(s == NULL) exit(1);
int length = 0;
char *base = (char *)s; //或const char *base = s;见[知识点二]
while((*base++) != '/0') length++;
return length;
}
void main()
{
char *ch = "Hello,c++ world!";
cout<<ch<<endl;
cout<<*ch<<endl;
int len = Stringlength(ch);
cout<<len<<endl;
}
- [数据结构复习]字符串1
- 复习(数据结构):字符串:c语言
- 数据结构复习笔记(1)
- 数据结构复习笔记 1
- 数据结构_复习1
- 面试复习-------算法与数据结构------字符串
- 【数据结构复习】(1)绪论
- 数据结构课下复习1
- 复习'''数据结构'
- 复习数据结构
- 数据结构复习
- 数据结构复习
- 数据结构复习
- 数据结构复习
- 数据结构复习
- 数据结构复习
- 数据结构复习
- 数据结构复习-递归复习
- Xgl on SuSE 10.1
- 爱
- VC调用MatLab生成的动态链接库
- 教学管理系统-实体Bean
- Linus Torvalds - 1 :Only wimps use ……
- [数据结构复习]字符串1
- VPC安装LINUX后花屏的解决方法(我实验过,可以用的)
- 操作EXCEL(2)
- 操作WORD
- SQL Server 中易混淆的数据类型
- Design pattern learning II: Adapter pattern
- 教学管理系统-待解决的问题
- vmware下安装好ubuntu 6.06(dapper)后安装vmware-tools的方法
- Delphi快捷键