9

什么会是像char *song; * 做什么的声明?它是一个数组、一个指针还是别的什么?

4

2 回答 2

8

*(星号)表示该变量是一个指针。举个小例子:

int x = 0;
int *y = &x; //y is pointing to x
const char* myText = "Text";

但是,您可能有兴趣了解更多关于什么是指针的知识。

于 2013-07-19T15:29:33.267 回答
4

H2CO3 是对的,你应该阅读 c 和指针。

char *song =  "smb:d=4,o=5,b=......."

是否与下面的代码相同

char song[] = "smb:d=4,o=5,b=......."

在这两种情况下,歌曲都是指向字符串数组的指针。C++ 有一个字符串对象,但纯 C 使用 c_strings。c_string 只是一个 char 数组。你有一个看起来像 c_string 的东西。

 *song       //the same as "song[0]" will equal 's' 
 *(song+1)   //the same as "song[1]" will equal 'm'
 *(song+2)   //the same as "song[2]" will equal 'b'

等等

于 2013-07-19T19:10:00.503 回答