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

我们一般说的字符串的地址,就是指字符串首元素的地址。
str[10];这样的数组。它的地址就是其str[0]的地址。
所以可以表示为str,或者&str[0]。
如果说取其他元素的地址,&str[对应下标]就可以了。
因为地址连续,定义指针接收,还可以通过指针加减获取对应元素地址。
*p=&str[2];(我们让指针指向第3个元素地址),那么p++;p就是指向了第4个元素地址。同理p--;就指向第2个元素地址。
注意,数组名str,可以表示数组首地址,但其本身是常量指针,不能赋值。
另外打印地址,可以用格式%p
1. 可以通过下标来取字符串的某一位。
2. 因为在C++中,字符串被表示为字符数组,可以通过索引来访问数组中的元素。
字符串的第一个字符的索引为0,依次递增。
3. 可以使用方括号加上索引的方式来取字符串的某一位。
例如,对于字符串str,要取第i位的字符,可以使用str[i]来获取。
除了使用下标,还可以使用字符串的成员函数来取字符串的某一位,例如使用str.at(i)来获取第i位的字符。
同时,还可以使用迭代器来遍历字符串的每一位。
字符串其实就是一个字符数组,变量名就是数组指针。举个例子
我一般用new,感觉比较爽,不需要讨论字节大小只需要变量个数,如int *a = new int[15] 即创建了长度为15的整形数组,用过之后可用delete直接删除。函数原型:
参数:size 需要分配的内存大小。
返回值:申请到的内存地址(void*)。
如果返回NULL则说明申请失败。
就是找到这个变量的内存地址,直接读写 例如:scanf("%d",&a); 就是找到a的地址,把读入一个数写到a的地址中 在例如 p=&a; 就是让指针p指向a的内存地址,这样直接对内存读写.有利于提高操作速度.