繁体   English   中英

arduino中的char *声明是什么?

[英]What is a char* declaration in arduino?

什么是char *song;这样的宣言char *song; *有什么作用? 它是一个数组,指针还是别的什么?

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

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

但是,您可能有兴趣学习更多关于指针的内容

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

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

是否与下面的代码相同

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

在这两种情况下,song都是指向字符串数组的指针。 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'

等等

是的,星号使它成为一个指针。 好像你已经足够在其他答案中去了,但如果你正在寻找一本好书: http//cm.bell-labs.com/cm/cs/cbook/

〜克里斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM