字符串是一连串地址连续的内存空间,每个地址对应字符串元素的地址。

我们一般说的字符串的地址,就是指字符串首元素的地址。
str[10];这样的数组。它的地址就是其str[0]的地址。
所以可以表示为str,或者&str[0]。
如果说取其他元素的地址,&str[对应下标]就可以了。
因为地址连续,定义指针接收,还可以通过指针加减获取对应元素地址。
*p=&str[2];(我们让指针指向第3个元素地址),那么p++;p就是指向了第4个元素地址。同理p--;就指向第2个元素地址。
注意,数组名str,可以表示数组首地址,但其本身是常量指针,不能赋值。
另外打印地址,可以用格式%p
printf("i的地址为:%p",i); //打印变量i的地址值
printf("i的地址为:%d",i); //打印变量i的值
C语言中要输出地址时通常以16进制的方式输出
综上,要输出某个值的地址可以写为printf("%x",&变量);若变量为指针时,则应写为printf("%x",指针);
C语言在以下情况下需要加地址:1. 当需要操作变量的地址而不是值时,比如传递指针作为参数给函数进行修改,或者使用指针来访问数组元素。2. 当需要传递大型数据结构或对象给函数时,避免额外的内存复制开销,可以通过传递指向该数据结构的指针或引用来提高效率。3. 当需要动态分配内存空间时,例如使用malloc或new来创建动态数组或对象时,需要使用地址来引用新分配的内存块。总结:在C语言中,使用地址可以实现更灵活的内存管理和数据操作,但同时也需要注意正确释放内存和避免悬空指针等问题。
好难回答!取址符使用在你需要得到对象的地址,操作其指针的时候 ,或者将其赋值。
int *pNum = #当你需要其地址的时候则需要&运算,比较常用的会应用在参数传递,例如:
变量的地址,在C语言中,一般写作指针类型。不同类型的变量地址,用不同的指针进行保存。比如,char 类型的地址,使用char*保存,而int型地址,用int *保存。除此外,部分情况下也会采用整型类型来保存变量地址,具体使用何种整型类型,取决于编译器:
1 16位编译器,地址占16位,2字节,可以使用short或者int保存。
2 32位编译器,地址占32位,4字节,可以使用int或long保存。
3 64位编译器,地址占64位,8字节,可以使用long保存。不过不推荐使用整型类型保存地址,会带来移植上的不通用。