深入理解 C 指针阅读笔记 -- 第五章
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;
*/
}
深入理解 C 指针阅读笔记 -- 第五章的更多相关文章
- 深入理解 C 指针阅读笔记 -- 第六章
Chapter6.h #ifndef __CHAPTER_6_ #define __CHAPTER_6_ /*<深入理解C指针>学习笔记 -- 第六章*/ typedef struct _ ...
- 深入理解 C 指针阅读笔记 -- 第二章
Chapter2.h #ifndef __CHAPTER_2_ #define __CHAPTER_2_ /*<深入理解C指针>学习笔记 -- 第二章*/ /* 内存泄露的两种形式 1.忘 ...
- 《图解HTTP》阅读笔记-第五章-web服务器
第五章.与HTTP协助的web服务器单台虚拟主机实现多个域名可以用单台物理主机运行多台虚拟主机,这些虚拟主机的IP相同,而虚拟主机有可以寄存多个不同主机名和域名的web网站,所以要保证发送HTTP ...
- 《Interest Rate Risk Modeling》阅读笔记——第五章:久期向量模型
目录 第五章:久期向量模型 思维导图 久期向量的推导 久期向量 广义久期向量 一些想法 第五章:久期向量模型 思维导图 久期向量的推导 \[ V_0 = \sum_{t=t_1}^{t_n} CF_t ...
- Hadoop阅读笔记(五)——重返Hadoop目录结构
常言道:男人是视觉动物.我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物.某些场合(比如面试.初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型.所以,第一眼 ...
- 《Linux内核设计与实现》读书笔记——第五章
<Linux内核设计与实现>读书笔记--第五章 标签(空格分隔): 20135321余佳源 第五章 系统调用 操作系统中,内核提供了用户进程与内核进行交互的一组接口.这些接口让应用程序受限 ...
- Android群英传笔记——第五章:Android Scroll分析
Android群英传笔记--第五章:Android Scroll分析 滑动事件算是Android比较常用的效果了,而且滑动事件他本身也是有许多的知识点,今天,我们就一起来耍耍Scroll吧 一.滑动效 ...
- 《Linux内核设计与实现》第四周读书笔记——第五章
<Linux内核设计与实现>第四周读书笔记--第五章 20135301张忻 估算学习时间:共1.5小时 读书:1.0 代码:0 作业:0 博客:0.5 实际学习时间:共2.0小时 读书:1 ...
- Programming Entity Framework-dbContext 学习笔记第五章
### Programming Entity Framework-dbContext 学习笔记 第五章 将图表添加到Context中的方式及容易出现的错误 方法 结果 警告 Add Root 图标中的 ...
随机推荐
- NOIP 2012 D1T1 Vigenère密码
嗯嗯 一道找规律的题.... 真佩服那些把表打出来的人 //By SiriusRen #include <cstdio> #include <cstring> using na ...
- SQL Server阻塞诊断
在数据仓库维护过程中,经常会出现定时更新程序和查询SQL发生冲突而引起阻塞的情况,需要进行SQL Server诊断. SQL Server诊断一般会用到2个视图:sys.sysprocesses(系统 ...
- 详解DevExpress.LookUpEdit控件实现自动搜索定位功能(转)
转载自csdn博客 爱拼才会赢 的博客 地址是详解DevExpress.LookUpEdit控件实现自动搜索定位功能(转)
- hihoCoder挑战赛31
#1595 : Numbers 时间限制:8000ms 单点时限:1000ms 内存限制:256MB 描述 给定n个整数常数c[1], c[2], ..., c[n]和一个整数k.现在需要给2k个整数 ...
- BZOJ4832: [Lydsy1704月赛]抵制克苏恩(期望DP)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 913 Solved: 363[Submit][Status][Discuss] Description ...
- EditPlus代码自动完成的设置
EditPlus代码自动完成的设置保存在 *.acp 文件中,可以在“工具”->“首选项”->“文件”->“文件类型及语法”中(如下图) 其中“语法文件”保存着进行语法高亮的关键词, ...
- (转载)自定义CoordinatorLayout的Behavior(2):实现淘宝和QQ ToolBar透明渐变效果
自定义CoordinatorLayout的Behavior(2):实现淘宝和QQ ToolBar透明渐变效果 作者 小武站台 关注 2016.02.19 11:34 字数 1244 阅读 3885评论 ...
- 在无任何报错的情况下 pagehelper.startpage分页无效问题
问题原因:自从spring boot开始使用2.0x版本以上后,很多相应的依赖文件版本开始变化 该版本为spring-boot 1.4.1 <dependency> <groupId ...
- DELPHI调试出现disconnected session的解决办法
我在控制面板中,是禁用了UAC的,如下图 但是,在注册表中启用了UAC(EnableLUA), 工程中请求了管理员权限,如下图: 所以,整个权限请求混乱了. 解决办法,要么把注册表的LUA设置为0,要 ...
- DIV+CSS左右两列自适应高度的方法
我们在用DIV+CSS布局网页的时候,必然会遇到左右两列自适应高度的问题,就是左边列的背景会随着右边列内容的增加也相应的增加高度,下面就教大家DIV+CSS左右两列自适应高度的方法. 下面给出最终的效 ...