辽宁省建设厅证书查询网站,建设银行网站查询余额,摄影网站需求分析,网站建设有什么作用char* a[] 和 char a[] 的区别
char* a[] 和 char a[] 是 C 语言中数组的不同声明方式#xff0c;二者具有以下区别#xff1a;
char a[] 声明的是一个字符数组#xff0c;其中存储的是一串字符。此时#xff0c;a 可以被视为一个指向字符的指针。 char* a[]则声明了一个…char* a[] 和 char a[] 的区别
char* a[] 和 char a[] 是 C 语言中数组的不同声明方式二者具有以下区别
char a[] 声明的是一个字符数组其中存储的是一串字符。此时a 可以被视为一个指向字符的指针。 char* a[]则声明了一个指针数组即一个由指向字符的指针组成的数组。 下面来分别讨论它们的用法
char a[]
假设现在需要定义一个字符串变量并对其赋值 char myString[] Hello World;可以看到在使用 char a[] 时可以在定义该数组时直接给其赋初始值初始化同时数组的长度会根据初始值自动计算因此可以省略数组长度的定义如 char myString[12]。使用时可以直接使用数组名 myString 或通过指针间接使用。
也就是说在这里面 myString[0] H
char* a[]
现在需要定义一个由多个字符数组组成的指针数组可以这样定义 char* allStrings[] {string1, string2, string3};此时allStrings 就是一个指向字符指针的数组。在使用 char* a[] 时需要在定义数组时赋初始值即字符串指针。其中每个元素都是指向相应字符串的指针。例如上述代码allStrings 数组包含有三个元素每个元素都是一个字符串的地址。allStrings[0] string1
当需要访问字符串内容时可以使用类似于 *(allStrings 1) 的方法直接定位到字符串指针的位置然后再输出字符串内容。
总之虽然 char a[] 和 char* a[] 都涉及到指针和数组但前者主要用于定义和操作字符数组而后者则用于构建由字符串指针构成的数组。
总结
char *a[] 就是一个字符串数组char a[] 就是一个字符数组