char ** char *a[]
时间: 2023-10-22 08:08:54 浏览: 101
char **和char *a[]分别是指针的指针和指针数组。char **可以用来表示一个指向指针的指针,而char *a[]表示一个指针数组,数组的每个元素都是一个指向char类型的指针。
在给char **赋值时,可以直接将一个指向char类型的指针的地址赋给它。例如,char *p = "hello world"; char **a = &p;。
而在给char *a[]赋值时,可以使用另一个指针数组的地址赋给它。例如,char *b[] = {"hello", "world"}; char **a = b;。
需要注意的是,不能将char **直接赋值给char *a[],因为char *a[]中的a是一个数组名,是一个常量,我们不能直接给常量赋值。
相关问题
typedef char **a
typedef char **a是一个类型定义,它将char **类型定义为a类型。这意味着,以后在代码中可以使用a来代替char **,使代码更加简洁易读。
在C语言中,char **是一个指向指针的指针类型,也可以理解为二级指针。它可以用来表示一个字符串数组,也可以用来表示一个二维字符数组。通过typedef char **a的方式,我们可以给这个类型起一个更加易懂的名字。
需要注意的是,这个定义并不会创建一个新的数据类型,只是为已有的类型char **起了一个新的名字a。因此,在使用时仍然需要使用char **类型的语法规则。
int*A char*A
`int* A` 和 `char* A` 是 C 或 C++ 中的数据类型声明,它们表示指针变量。
1. `int* A`: 这是一个指向整型(int)数据的指针,`A` 是一个指针变量名,可以用来存储一个整数的地址。通过这个指针,我们可以访问和修改该地址处的整数值。
2. `char* A`: 这是一个指向字符(char)数据的指针。同样,`A` 是一个指针变量名,用于存储单个字符或字符串的地址。它可以用来操作文本数据,如读取或修改字节内容。
这两种声明都允许对内存中的值进行间接访问,但在实际应用中可能有不同的用途,比如动态分配内存、处理数组等。
阅读全文