char* 和 char * 思考

在最简单的变量声明中,存在两种写法

char* a;
char *a;

或许有人会觉的说这些显得很鸡肋,但是这是我的思考,思维应当是无边无界的。

 

基于地址编号与内存的映射关系的前提下,而C语言中变量即为地址。

首先分析第一种,变量与 * 符号紧贴

char a;
char *b;

类型符 表示 声明变量 的 类型。

* 符号 作为 内存中 存储的东西 的 限定符号,无 * 符号默认为 内容,有 * 符号 表示为 地址。

char 为申请内存(声明变量) 的类型。a无*符号,表示a 映射的内存中存储的东西为内容, b有*符号,表示b 映射的内存中 存储的东西为地址,已知b的类型为char,

b中存储的地址映射的内存的类型为 char*。

突出了申请变量,而隐匿了变量指向

第二种, 类型符号与 * 符号 紧贴

char a;
char* b;

char 为 指向内存(声明变量)的类型,类型符号无 * 符号,默认变量为内容,无指向;类型符号有 * 符号,默认变量为 地址,指向类型为 类型符号*。

突出了变量指向,而隐匿了声明变量。

 

 

至于使用哪种,就看各位的思维模式和生活哲学了。

 

posted @ 2018-11-24 08:22  Chanmoo  阅读(1189)  评论(0编辑  收藏  举报