| 
 
| 变量前面加星号 鄙人第一次看到这个问题的时候,也是一愣,而且首先想到的是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;}
 
 免责声明:内容仅供参考,不保证正确性,不作任何决策依据!
 
 | 
 |