`
ding43930053
  • 浏览: 38963 次
社区版块
存档分类
最新评论

VC++学习之路<指针与字符串>

 
阅读更多

1.字符串的指针和指向字符串的指针变量

字符串在内存中的存放形式是:按串中字符的排序次序顺序存放,每个字符占一个字节,并在莫为自动添加'\0'

作为结束标志。可见,整个字符串在内存中占用了一块连续内存单元,这与一个数组在内存中的存放方式是一致的。

因此,把字符串在内存中所占存储空间的其实地址称为字符串指针。

程序中可以定义一个指针变量使其指向一个字符串,定义指向字符串的指针变量的方法是用 char *来完成,格式是:

char *指针变量名;

要使一个指针变量指向一个字符串,只要直接将该字符串赐给该指针变量即可,这就表示字符串的起始地址赐给了该指针变量。

例如:

#include "stdafx.h"
#include <iostream>

using namespace std;

void main()
{

char *c = "my helloword";
cout <<c;

}


程序运算结果:

my helloword请按任意键继续. . .

程序说明:

(1)程序中语句:“char *c=“my helloword” ” 的作用是定义了指针变量c,并使其指向字符串“my helloword”

2.字符串指针作函数参数

#include "stdafx.h"
#include <iostream>

using namespace std;

void main()
{
	char a[] = "c abc";
	char b[] = "b efg";
	char *x =a; 
	char *y = b;
	void copy_string(char *from,char *to);
	copy_string(a,b);
	cout <<b<<endl;
	copy_string(x,y);
	cout <<b;

}
void copy_string(char *from,char *to)
{
	for (;*from != '\0';from++,to++)
	{
		*to = *from;
	}
	
}


分享到:
评论

相关推荐

    VC++对字符串处理

    精心整理,大家在使用VC++处理字符串的时候肯定遇到unicode 宽字符的问题: 比如:“不能将参数 1 从“const char [5]”转换为“LPCTSTR””之类的问题。 在此文档中告诉你怎么转换。 cstring 转换 char cstring ...

    VC++中字符串的处理

    CString ,BSTR ,LPCTSTR之间关系和区别CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,...

    VC++ 任意拆分字符串,用逗号隔开

    VC/C++源码,字符处理,字符串 VC++ 以逗号为分隔点,自由任意拆分字符串,经常编写代码的朋友可能会想到Split,对,本代码就是使用Split函数实现分隔字符串,这相当实用,在日常编程中,对字符串的截娶过滤与分隔是...

    VC++ 2008入门经典

    VC++ 2008 入门经典 数组、字符串和指针的用法

    vc++类函数指针的应用

    附件为VC++的源代码包。 描述了如何使用函数名称的字符串来调用函数,需要在VC++7版本以上才能编译通过。 在进行可配置化以及架构设计时可参考

    .Net 调用 VC++ DLL 示例

    在.Net中调用VC++DLL的示例,其中包括 字符串处理,指针处理,结构处理,数组处理。

    VC++6.0核心编程源码.rar

    ”你会发现它与WinError.h头文件中的错误代码2所指的字符串是相同的。 图1-1 在Visual Studio 6.0的Watch窗口中键入 “@err,hr",你就可以查看当前线程的最后错误代码。 Visual studio还配有一个小的实用程序,...

    VC++基础视频教程100讲

    共100讲,包括最基本的C,C++,VC环境的安装配置及顺序,判断,循环、if与switch条件分支语句、一维数组的概念、二维数组、字符数组(字符串)、函数分类等各类语法,本教程1-11节为EXE格式,故无法现在学习,所以本站...

    VC++程序简单实例

    实例2-4:增加域内填充字符。源代码在光盘中“\02\fourthcpp”目录下。 实例2-5:同一数据用不同进制输出结果。源代码在光盘中“\02\fifthcpp”目录下。 实例2-6:用浮点数的形式输出数据。源代码在光盘中“\02\...

    VC++2010权威开发指南+源代码.part2

     5.21.3 在日期和时间选择器控件中使用自定义格式字符串 254  5.21.4 在日期和时间选择器控件中使用回调字段 254  5.21.5 处理日期和时间选择器控件中的通知消息 256  5.22 Visual C++ 2010 Month Canlendar控件...

    用VC++实现的可动态设置表的程序

    基本功能: *表的半径可动态设置 *表的刻度单位可动态设置 *表的刻度弧度大小(即扇面)可动态设置 ... *表中各字符串标签个数和内容可动态设置 *支持表的整体放缩 *表盘中间一个表指针,表指针颜色、样式可动态设置

    VC++常用的共用函数100多页

    ◆怎样才能在VC里产生一个唯一的字符串◆ 31 ◆如何隐藏进程(在系统状态栏和进程列表里不可见)◆ 31 ◆如何得到一个确定大小的视?◆ 31 ◆如何实现点击窗口任意地方拖动窗口?◆ 32 ◆如何在启动时阻止MDI应用程序...

    C语言学习实例220例

    031 判断字符串是否回文 032 通讯录的输入输出 033 扑克牌的结构表示 034 用“结构”统计学生成绩 035 报数游戏 036 模拟社会关系 037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件...

    用指针进行进程间通信

    一个是服务程序,一个是控制程序;先运行服务程序,。服务程序先获得某个变量的指针,然后在控制程序中通过 ReadProcessMemory() 和WriteProcessMemory()这两个函数...(读写的内容为DWORD 类型,若输入字符串,读写为0)

    Cstring 与BYTE类型之间转换

    Cstring 与BYTE类型之间转换,实现字节与字符串的转换,将字符串转化为字节类型。0进制与16进制间转换

    VC++ 编程技巧

    54、如何正确显示包含标签字符的串 20 55、串太长时如何在其末尾显示一个省略号 20 56、如何快速地格式化一个CString对象 20 57、为什么即使调用EnableMenuItem菜单项后,菜单项还处于禁止状态 20 58、如何给系统...

    VC++ 专家指导.doc

    (72)为什么DLL在字符串表中找不到字符串 157 (73)关于复选框的文本颜色 158 (74)系列化与版本的问题 159 (75)在一个控件内检测并使用ON_COMMAND消息 162 (76)为何MDI程序中有子窗口打开时主应用程序不能关. 163 (77)...

    77G 22套C语言 C++ 数据结构 程序设计视频课程合集 C丨C++相关学习视频全套视频教程

    MCU_51_指针_数组与字符串指针.mp4 MCU_51_指针与函数参数.mp4 MCU_51_指针变量和指针运算符.mp4 MCU_51_指针数组.mp4 MCU_51_结构.mp4 MCU_51_结构数组_结构与函数.mp4 MCU_51_联合.mp4 PonC_指针和数组-2....

    VC++2010权威开发指南+源代码

     5.21.3 在日期和时间选择器控件中使用自定义格式字符串 254  5.21.4 在日期和时间选择器控件中使用回调字段 254  5.21.5 处理日期和时间选择器控件中的通知消息 256  5.22 Visual C++ 2010 Month Canlendar控件...

    VC++常用功能实例

    ◆怎样才能在VC里产生一个唯一的字符串◆ 31 ◆如何隐藏进程(在系统状态栏和进程列表里不可见)◆ 31 ◆如何得到一个确定大小的视?◆ 31 ◆如何实现点击窗口任意地方拖动窗口?◆ 32 ◆如何在启动时阻止MDI应用程序...

Global site tag (gtag.js) - Google Analytics