有关二级指针char **p 的问题
2024-10-20 20:38:59
int main()
{
char *str[] = {"welcome", "to", "Fortemdia", "Nanjing"}; // str: 指针数组,其每个都是一个指向 char 数据类型的指针
// str[0] 指向 "welcome",
// str[1] 指向 "to"
// str[2] 指向 "Fortemdia",
// str[3] 指向 "Nanjing"
char **p = str + 1; // p: 指针的指针(a pointer to pointer to char),
// 以 p 命名的内存空间 (variable) 中存储了指向一个指向字符指针的内存首地址 -- data type: 指针
// 变量 p 被初始化指向一个字符指针,此指针指向 "to"
str[0] = (*p++)+1; // *p 是字符指针, (*p + 1)指向下一个字符
printf("%s\n", str[0] ); // *p指向 str[2]位置
str[1] = *(p+1); // *(p+1) 指向 str[3]位置,注意此时 str[1] = "Nanjing"
printf("%s\n", str[1] );
str[2] = p[1]+3; // *p指向 str[2]位置, p[0] = "Fortemdia"
printf("%s\n", str[2] ); // p[1] = "Nanjing", p[1] + 3 = "jing"
// 此时 str[2] = "jing"
str[3] = p[0]; // 由上一步 可知 *p指向 str[2]位置上换成了"jing"
printf("%s\n", str[3] ); // p[0] 指向了 j
system("pause");
}
最新文章
- backup4:数据库自动备份,自动删除备份文件
- iOS_TCP和UDP的详解
- .NET面试题解析(05)-常量、字段、属性、特性与委托
- C++类功能扩展预留五招
- PHP如何实现文件上传
- android 蓝牙4.0多通道
- OpenJudge计算概论-细菌的战争
- android 开发 system/app目录下面有多个重复包名的apk,会不会冲突
- Xshell中文乱码
- Frequent Pattern (FP Growth算法)
- AutoIT 测试GUI工具
- iOS应该具备知识点
- 1013 ACM 杭电 root
- msm codec 代码跟踪
- Ms17-010进行WEB提权之实践下某培训靶机服务器
- Windows下 VS2015编译RocksDB
- CMake中添加Qt模块的合理方法
- Internet History, Technology and Security (Week 3)
- Nginx 虚拟主机 VirtualHost 配置
- POJ 1014 Dividing(多重背包, 倍增优化)