指针是个地址。
char *a: a的值包含字符型数据,取消对a的引用(*a)得到一个字符,
不取消引用得到一个字符串,printf("%c",*a)输出一个字符或者printf("%s",a)输出字符串;
char **a: a的值包含一个地址,该地址包含字符字符型数据,取消对a的引用(*a),得到该地址,再取消对该地址的引用(**a),得到一个字符,printf("%c",**a)输出一个字符printf("%s",*a)输出字符串;
char *a[]: a是一个数组,数组的元素是地址(地址其实就是指针),地址包含的值是字符型数据,printf("%c",*a[i])输出一个字符,printf("%s",a[i]))输出字符串;
char *a或char **a可以改变a的值,char *a[]不能改变a的值。
char** argv与char *argv[]区别
最新推荐文章于 2024-07-10 20:26:35 发布
本文详细解析了C语言中不同类型的指针及其用法,包括char *a, char **a 和 char *a[]的区别与联系。通过具体的printf示例说明了如何使用这些指针来操作字符和字符串。
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印
开发板推荐:天空星STM32F407VET6开发板
超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1万+

被折叠的 条评论
为什么被折叠?



