char* & 与 char*

原文

char*& 为指针引用,通常需要更改指针本身并返回时才这样用。

char *&是指针引用
char *是指针
当用指针引用作为形参的时候,改变形参的指针,同时实参的指针也改变了。
当用指针做形参的时候,改变形参的指针,实参的指针不改变,当改变指针所指向的内容的时候,会同时改变。

时间: 2024-10-10 01:44:30

char* & 与 char*的相关文章

char *与char []深度刨析

编译不能通过 #include "iostream" using namespace std; int _tmain(int argc, _TCHAR* argv[]) { char *p= "hello" ; //不是把一个字符串赋给了一个字符型的指针,而是把一个字符型的指针指向了字符串的首地址. strcpy(p,"hel"); cout << p << endl; return 0; }//编译通不过 解析:char

string char * const char *之间的互相转换

string  ->   const char * 用str的c_str()方法或者data()方法均可,这个两个方法返回值为cong char * string str = "hello"; const char *a = str.c_str(); const char *b = str.c_str(); const char *  ->  string const char*转换为 string,直接赋值即可 string  ->  char * vs不让用str

[转载]char * 和char []的区别---之第一篇

char *  和char []的区别---之第一篇 原文地址http://blog.csdn.net/yahohi/article/details/7427724 在C/C++中,指针和数组在很多地方可以互换使用,所以经常有一种错觉,感觉数组和指针两者是完全等价的,于是经常出现在定义char ch[] 时,一旦给ch赋值与ch开辟的地址空间不等长的空间时会出现打印为“烫”字的情况 实上数组和指针是有很大的区别的. 汇总自己查找的资料: char[]是一个数组定义,char*是指针定义 先说说指

有个函数:char* reverse(char *buf)

*Author : DavidLin *Date : 2014-12-15pm *Email : [email protected] or [email protected] *world : the city of SZ, in China *Ver : 000.000.001 *For : reverse the char array/string! *history : editor time do * 1)LinPeng 2014-12-15 created this file! * 2

const char*、char*、char* const、char[]、string的区别

1.const char* p: p is a pointer to const char(char const* p 一样)   意思就是不能通过p指针来修改p指向的内容(但是内容可以修改).2.char* p      : p is a pointer to char   意思就是可通过p指针来修改p指向的内容3.char* const p: p is a const pointer to char   意思就是p指针是一个常指针,他指向的内存地址不能变,定义的时候就得初始化   一旦给指针

char * 与char []探究理解

问题引入 以前一直认为二者是一样的,今天突然发现他们还是有很大的不同的.例如char *a = "abc"和char b[] = "abc",当我使用strcat(b,a)时得到的b是二者的结合,当我使用strcat(a,b)时系统报错.也就是说前者改变其内容程序是会崩溃的,而后者完全正确. 预备知识 内存分配的三种方式方式:静态存储区.堆区和栈区.它们的功能不同,使用方式也就不同. 1.静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存

const char*, char const*, char*const的区别

Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读. char * const cp; ( * 读成 pointer to ) cp is a const pointer to char const char * p; p is a pointer to const char; char const * p; 同上因为C++里面没有const*的运算符,所以const只能属于前面的类型. C++标准规定,const关键字放在

char* 和char[]的差别

下面内容均来自互联网,系笔者汇总并总结. 1. 问题介绍 问题引入: 在实习过程中发现了一个曾经一直默认的错误,相同char *c = "abc"和char c[]="abc",前者改变其内 容程序是会崩溃的,而后者全然正确. 程序演示: 測试环境Devc++ 代码 #include <iostream> using namespace std; main() { char *c1 = "abc"; char c2[] = "

C语言中char* 和 char []区别

想要把丢掉的东西捡起来,还是很辛苦啊,今天我就发现,我连char* 和 char []的区别都不知道. 很多人觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指正. 本质上来说,char *s定义了一个char型的指针,它只知道所指向的内存单元,并不知道这个内存单元有多大,所以:当char *s = "hello";后,不能使用s[0]='a':语句进行赋值.这是将提示内存不能为"written".当用char s[]="hel

char*和char[]的区别

通过这边随笔的学习,终于搞清楚为什么在之前两篇随笔"静态内存"和"strcpy函数学习"中遇到的dest传入char*会导致段错误的原因. 例子: #include<stdio.h> int main(void) { char* str1="string string string string"; char str2[]="string string string string"; printf("st