char、char*和char**区别与联系(入门级)

目录

1.char

2.char*

3.char**

4.联系

5.区别


char、char*和char**都是C语言中用于处理字符数据的类型,它们的含义和用法有所不同。

1.char

char是C语言中表示字符的类型,它占用1个字节(8位),可以存储ASCII码表中的任意一个字符。char类型变量通常用于存储单个字符或者字符串中的一个字符。例如:

char c = 'a';   // 存储单个字符
char str[] = "hello world";  // 存储字符串

2.char*

char*是C语言中表示指向字符的指针类型,它用于存储指向字符串或字符数组的指针。例如:

char* str = "hello world";   // 存储指向字符串的指针
char arr[] = {'a', 'b', 'c'};   
char* ptr = arr;   // 存储指向字符数组的指针

在这个例子中,ptr指向字符数组arr的第一个元素,可以通过迭代指针来访问数组中的每个字符。

3.char**

char**是C语言中表示指向指向字符的指针的指针类型,也称为二级指针。它通常用于动态创建指针数组或者字符串数组。例如:

char** strArr = (char**)malloc(3 * sizeof(char*));  // 动态创建指针数组
strArr[0] = "hello";
strArr[1] = "world";
strArr[2] = "!";

在这个例子中,strArr是一个指向指向字符的指针数组,它有3个元素,每个元素都指向一个字符串常量。

4.联系

char* 和 char** 都是指针类型,它们可以用于动态分配内存和创建指针数组。char* 和 char** 都可以用于表示字符串,但是char*只能表示一个字符串,而 char** 可以表示多个字符串。

5.区别

char是一个基本数据类型,char* 是指向字符的指针,char**是指向指向字符的指针的指针,它们在语义上是不同的。char*可以用于表示单个字符串,而char**用于表示多个字符串。另外,char*可以用于指向字符串常量或者字符数组,而char**只能指向指针数组。

随手一赞是对我最大的支持,望以上内容对您有所帮助,有误地方请指教;

你可能感兴趣的:(C/C++知识点记录,c++,c语言)