* array []是什么意思?
发布时间:2020-12-16 10:33:14 所属栏目:百科 来源:网络整理
导读:参见英文答案 What does that mean in c? char *array[]= { “**”,“**”,“**” };????????????????????????????????????5个 在c中,如果我声明如下: char *somarray[] = {"Hello"}; 这是什么意思 ? 如果我打印它: somarray – 给我一个堆栈中的内存地址
参见英文答案 >
What does that mean in c? char *array[]= { “**”,“**”,“**” };????????????????????????????????????5个
在c中,如果我声明如下: char *somarray[] = {"Hello"}; 这是什么意思 ? 如果我打印它: somarray – >给我一个堆栈中的内存地址 & somarray – >同样的事情,堆栈内存地址,但.. * somarray – >给我一个常量的内存地址 我实际上可以使用* somarray打印字符串. 到底是怎么回事? 解决方法
* array []表示指针数组,在您的示例中:
char *somarray[] = {"Hello"}; somarray []是char *的数组.这个数组大小是1,包含字符串“Hello”的地址,如: somarray[0] -----> "Hello" somarray表示数组中第一个元素的地址. & somarray表示阵列地址 * somarray表示第一个元素的值 假设“Hello”字符串的地址是例如201,而数组somaaray在423地址,那么它看起来像: +----+----+----+---+---+----+----+----+---+----+ | `H`| 'e'|'l'|'l'|'o'| ' '| +----+----+----+---+---+----+----+----+---+---+----+ 201 202 203 204 205 206 207 208 209 210 2 ^ | +----+----+ | 201 | +----+----+ 423 somarray 和: somarray给出423 & somarray给出423 * somarray给出201 需要注意的是somarray和& somarray给出相同的值,但在语义上两者都是不同的.一个是第一个元素的地址,另一个是数组的地址. read this answer. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |