char *进行了一个整理,原理可能还是不太明白,但至少印象深刻了很多。整型数组和整型指针在讨论字符数组、字符指针以及字符串之前,先看下整型数组与整型指针的区别int a[]={1,2,3};//整型数组,a的指向不能改变,但数组的内容可以改变 int *p = a;//整型指针,可以改变指向 //resetiosflags(ios::right)<<setw...
以上代码在运行时时会在第8行处出错,因为char*和char[]的内存分区是不同的。 上面代码中的char*a = ”abc“的”abc“是常量所以被分配在常量存储区,a为字符指针类型是存放在栈区可以被更改,而常量存储区是不能更改的,是只读区域,所以当你试图去写入数据的时候,会报错。 而char b[3] = {‘a’,‘b’}...
总结一下,char是用来存储单个字符的数据类型,而char*则是用来存储指向字符或字符串起始位置的指针类型。在处理文本数据时,我们经常使用char*来管理字符串,因为它允许我们通过操作指针来访问一系列字符。
总之, char* 和 char数组的主要区别在于数据类型、内存分配、传递方式和字符串操作上的不同。
前者是指向字符型对象的指针类型 后者是字符型
其实,只要记住一点就能很好区分char *和char []:char *定义的是一个指向字符串的指针(注意:C语言中没有对应字符串的内置类型或者类类型),而char []就是C语言中的用来定义字符数组(注意:字符数组是不同于字符串,如果字符数组以'/0'结尾,那么可以视为字符串)。
char不是一个函数哦亲,char是基本类型的一种,表示字符类型。如果你想问的是函数返回char或者返回char ...
char*和char[] 是不同的类型,但并非在所有情况下都是显而易见的。这是因为数组衰变成指针,...
char pp[] = "hello"; 这个相当于指针常量,就是本身是个常量<因为pp就是数组的一个引用,引用本身就是指针常量>,但不混为一谈。 第一句话:指针就是存放地址的变量。(就是这么简单。) 第二句话:指针是指针,数组是数组。(只是它们经常穿着相似的衣服来逗你玩罢了。) ...