打印
[牛人杂谈]

C语言变量前面加星号是什么意思

[复制链接]
441|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2025-3-28 16:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
变量前面加星号
鄙人第一次看到这个问题的时候,也是一愣,而且首先想到的是Python中的解构字典和可变参数(解构字典在比较新的版本的Python中有),后来又想了想,认为C语言变量前面加星号可能指的是指针。比如下面这段代码:
#include <stdio.h>int main(void){   
char str1[] = "abc";   
char *p = str1;   
printf("%s",p);   
return 0;}
如上代码,变量str1是一个字符数组,实际上,也是一个指针,而且指向的是数组中的第一个字符的指针,然后又定义了一个指针变量p,用来指向数组变量,因此,也是一个指向字符数组第一个字符('a')所在的内存地址的指针。简单验证实际上,我们可以分别输出str1和p所指向的内存地址,来简单验证,比如下面的这段代码(输出的应该是相同的值):
#include <stdio.h>int main(void){   
char str1[] = "abc";   
char *p = str1;   
printf("%p\n",(void*)&str1[0]);   
printf("%p\n",(void*)p);
  return 0;}

免责声明:内容仅供参考,不保证正确性,不作任何决策依据!

使用特权

评论回复
沙发
stormwind123| | 2025-3-28 16:34 | 只看该作者
C语言变量前面加星号可能指的是指针。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2112

主题

8003

帖子

11

粉丝