意思:char ** 指向字符型指针的指针;
区别:
char *字符型指针,指向一个字符;
数据在内存中的存储区域
1、栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。
2、堆:就是那些由new或malloc分配的内存块,在不适用时,要手动用delete或free来释放内存区域。
3、全局/静态存储区:全局变量和静态变量被分配到同一块内存中,他们共同占用同一块内存区。
4、常量存储区:这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改
char**最常使用在main函数中:
int main(int argc,char**argv);
等同于int main(int argc,char*argv[])
等同于int main(int argc,string argv)(C语言中并不直接包含字符串类型,此处便于理解,所以使用string类型)
char是字符变量的说明符
字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。
字段类型
在MYSQL中,字段类型char是指:使用指定长度的固定长度表示的字符串;比如char(8),则数据库会使用固定的1个字节(八位)来存储数据,不足8位的字符串在其后补空字符。
字符转换
在excel中char函数用于返回对应发于数字代码的字符。其用法:=char(number)
其中,参数number为转换的字符代码,介于0~255之间,char占一个字节,也就是8个二进制位,但它表示的是有符号的类型,所以表示的范围是-128~127;uchar表示无符号的类型,所以表示的范围是0~255。
代数概念
char是characteristic的简写,表示一个环或者域的特征,即最小的非负整数n,使ne=0。(e为单位元)。
参考资料:
百度百科——char(计算机语言关键字)
char**是二重指针,也就是指向指针变量的指针。 而char*是一维指针,即指向字符变量的指针。
其区别在于,指向地址所存储的值不同。
对于char **p1, *p1的类型为char*型,而**p1的类型才是char型。
对于char*类指针p2,*p2就是char 型。
c语言中,char* 表示字符指针类型,当其指向一个字符串的第一个元素时,它就可以表示这个字符串。
如char* str="learn c";中,"learn c"是长度为8的字符数组常量,其最后一个元素是'\0',而这句代表执行的结果是将str指向了"learn c"的第一个字符'l',str后面的连续内存依次存放'e','a','r','n',' ','c','\0'
扩展资料
定义char*注意事项:
1、在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”,不要和(*)操作符混淆。
2、能将二维数组的数组名赋给指针数组的数组名,pai=arr(错),因为两者的类型不一致,二维数组名的类型是指向int[][]型的指针,而指针数组的的数组名是指向int *[]类型的指针。
参考资料来源:百度百科——指针
指针是一种类型。比如 char* a。一般人写法是把*和a写一起,即char *a。从类型定义上应该是第一种(虽然语法和效果上二者没区别)。char* a的意思是,a变量是一个指针,char型指针,里面存的char的地址。。同理 char**a的正确理解的写法是(char*)* a,即a变量是一个指针,是一个char*型的指针。即里面存的的char*的地址。再说直白点就是(char) *,char是一种类型,(char*)*,括号里面的char*也是一种类型,和int,char平级别的类型。char* a。使用*a取得a的值。同理char** a,**a取得的也是值,该值是个地址,该地址指向a实际的值。简单例子就是我给你个纸条,上面写着我的地址,(相当于char* a)。然后我又给你个纸条,上面写着上一个纸条的地址。
char*是指针,可以用来表示一维数组,
char**是指针的指针。这个可以用来表示二维的数组