深入理解 C 指针阅读笔记 -- 第五章
笔记 -- 深入 理解 指针 阅读 第五章
2023-09-14 09:09:00 时间
Chapter5.h
#ifndef __CHAPTER_5_ #define __CHAPTER_5_ /*《深入理解C指针》学习笔记 -- 第五章*/ /*不应该改动的字符串就应该用 const char* 去修饰*/ size_t __strlen_test(const char*); /*返回字符串的几种方法*/ char* __return_str__test(); #endif
Chapter5.cpp
#include "Chapter5.h" #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> size_t __strlen_test(const char* pstr) { size_t length = 0; /* 由于參数用const去修饰,所以。在函数中,我们不能去改变指针指向的字符串, 否则,会产生编译错误 */ // *pstr = 'a'; 这里编译错误 while (*pstr++) ++length; return length; } /*返回字符串的几种方法*/ char* __return_str__test() { /* 第一种方法 返回一个字面值常量,由于这是一个字面值常量,它存储在常量存储区中, 当程序终止时。才会消失,所以,返回它的地址不会出现故障 */ /* srand(time(NULL)); int num = rand() % 2; if (num % 2 == 0) return "even number"; else return "odd number"; */ /* 另外一种方法 返回一个动态内存指向的地址,由于这个地址是在堆中分配的,所以,仅仅有 当程序猿自己释放这块内存时,它才会消失,所以。返回它的地址不会出现故障 */ /* char* p_str = (char*)malloc(sizeof(char) * 16); strcpy(p_str, "DLUTBruceZhang"); return p_str; */ /* 第三种方法 返回一个静态字符串,这个字符串存储在静态存储区,即全局变量存储的地方。仅仅有当 程序结束时,这块内存才会消失。所以,返回它的地址不会出现故障 */ /* static char str[] = "DLUTBruceZhang"; return str; */ /* 第四种方法 首先,这是一个错误的方法 它返回的是一个局部变量的地址,这块内存存储在栈中,当函数返回后。这块内存就会被 别的值覆盖,即指向的地址存储的不是想要的值,我们在程序中是须要避免的 */ /* char __str[] = "DLUTBruceZhang"; return __str; */ }
相关文章
- cURL笔记
- keras模块之-优化器(optimizers)--笔记
- java学习笔记9--内部类总结
- java学习笔记12--异常处理
- Android群英传笔记——第六章:Android绘图机制与处理技巧
- C++多线程编程笔记
- 数学建模学习笔记(二十二)灰色预测(下)Verhulst模型
- Linux的中断和异常扫盲笔记
- jQuery学习笔记
- Android问题笔记 - 为什么代码检测提示View控件或Context建议为final--Field ‘‘ may be ‘final‘
- 【华为云分享】机器学习笔记(七) ---- 贝叶斯分类
- PHP 零基础入门笔记(7):PHP 常用的系统函数
- 【Struts2学习笔记(1)】Struts2中Action名称的搜索顺序和多个Action共享一个视图--全局result配置
- C++ Primer 学习笔记_29_STL实践与分析(3) --操作步骤集装箱(下一个)
- 《TCP/IP具体解释卷2:实现》笔记--4种不同类型的mbuf
- 树莓派玩耍笔记1 -- 开箱 & 安装系统以及简单配置
- 经济学中的破窗理论 - 关于开源产品的质量笔记
- ArchLinux 安装笔记 --zz
- 大数据开发笔记(九):Flink综合学习
- 大数据开发笔记(八):Sparkstreaming
- 【阅读笔记】JavaScript设计模式与开发实践1--面向对象与this
- 【阅读笔记】你不知道的Javascript--强制类型转换4
- C++基础知识要点--函数(Primer C++ 第五版 · 阅读笔记)
- C++基础知识要点--字符串、向量和数组 (Primer C++ 第五版 · 阅读笔记)
- 强化学习笔记:多臂老虎机问题(7)--Gradient Bandit Algorithm
- 量子笔记:量子纠缠祛魅,贝尔纠缠态
- 【课上笔记】第八章 图
- ROS Python 入门学习笔记--4--服务与客户端模型
- 【ZYNQ-GPIO MIO】Xilinx 知识点笔记(GPIO篇、MIO)
- C++学习笔记4--表达式