总之,`char` 和 `char *` 的主要区别在于它们分别表示字符和字符指针,占用的空间不同,以及在程序中的应用场景和运算规则有所区别。
区别:char是用来存储单个字符的数据类型,而char*是用来存储字符串(字符数组)的指针类型。char变量只能存储一个字符,而char*指针变量可以指向一个字符串(字符数组)的首地址,从而访问整个字符串。对于char变量,可以直接使用字符常量或者变量进行赋值;而对于char*指针变量,需要指向已经存在的字符数组或者...
总结一下,char是用来存储单个字符的数据类型,而char*则是用来存储指向字符或字符串起始位置的指针类型。在处理文本数据时,我们经常使用char*来管理字符串,因为它允许我们通过操作指针来访问一系列字符。
总之, char* 和 char数组的主要区别在于数据类型、内存分配、传递方式和字符串操作上的不同。
1、储存内容不同 在C语言中,char*是定义一个字符串,存储的是一段如“abcd”的数据,而且最后还有一个结束符'\0';char是定义一个字符,存储一个字符,占一个字节。2、数据类型不同:char*是指针类型,是一个用来保存一个内存地址的计算机语言中的变量。char是字符类型,用来存储字符值。3、功能不...
char*是指针类型,值为一个char类型的变量的地址 char ch = 'a'; // char变量储存一个字符 char* p = &ch; // char*变量储存一个char变量的地址
把字符串加到指针所指的字串上去,出现段错误,本质原因:char* d="0123456789"存放在常量区,是无法修的。而数组是存放在栈中,是可以修改的。 1、声明不同 1.1 声明一个char*字符串 你可以这样:直接赋值 char* str ="test";//str是一个指针,存放在栈区,"test"是一个常量,存放在常量区,VS2017要求这句声明...
反过来,实参可以是char[],形参可以是 char *也是可以的。 存在即合理,char *和char[]肯定是有本质的不同。 不同点 1. char*是变量,值可以改变, char[]是常量,值不能改变。 比如: char*a="string1";charb[]="string2";a=b;//OKa="string3";//OKb=a;//报错!左边操作数只读b="string3"//报错...
(char *)是指针数据类型,char是值类型。(char *)new char(5)的结果是将内存中存储char[5]这个数组的首地址(即指针的值)赋给strName这个变量。很显然在第二个式子中 strName的声明是 char* strName。而第一个式子则是char strName来声明。
原文地址:http://blog.csdn.net/yahohi/article/details/7427724以下内容均来自互联网,系笔者汇总并总结。1. 问题介绍问题引入:在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]=&quo