C 字符串获取元素地址

打印出c字符串元素的地址,需要将取地址符号(&)进行静态类型转换为(void*),或者使用static_cast<void*>()进行转换。

    const char* p = "abcdefg";
    char p_arr[8] = "abcdefg";
    string b;
    b.assign(p_arr, 3);
    cout << "string b = " << b << endl;

    cout << "p's address = " << (void*)&p_arr[0] << endl;
    cout << "b's address = " << static_cast<void*>(&b[0]) << endl;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中,字符串数组实际上是一个二维字符数组,每个字符串都是一个字符数组。要获取字符串数组中每个元素(即每个字符串)的长度,你可以使用循环结构和`strlen`函数来逐个获取每个字符串的长度。 以下是一个示例代码,演示了如何获取字符串数组中每个元素的长度: ```c #include <stdio.h> #include <string.h> int main() { char strArray[][20] = {"Hello", "World", "C", "Programming"}; int lengthArray[sizeof(strArray) / sizeof(strArray[0])]; for (int i = 0; i < sizeof(strArray) / sizeof(strArray[0]); i++) { lengthArray[i] = strlen(strArray[i]); } for (int i = 0; i < sizeof(strArray) / sizeof(strArray[0]); i++) { printf("字符串 \"%s\" 的长度为:%d\n", strArray[i], lengthArray[i]); } return 0; } ``` 上述代码中,我们声明了一个字符串数组`strArray`,其中包含了多个字符串(每个字符串的最大长度为19)。然后,我们声明了一个整型数组`lengthArray`,用于存储每个字符串的长度。 通过使用两个循环,我们遍历整个字符串数组。在第一个循环中,我们使用`strlen`函数获取每个字符串的长度,并将其存储到`lengthArray`中。在第二个循环中,我们打印出每个字符串及其对应的长度。 运行该程序会输出: ``` 字符串 "Hello" 的长度为:5 字符串 "World" 的长度为:5 字符串 "C" 的长度为:1 字符串 "Programming" 的长度为:11 ``` 这样,你就可以获取字符串数组中每个元素的长度了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值