• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C语言中#define与typedef的互换细节详解

C语言中#define与typedef的互换细节详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了typedef define,typedef define 区别,c语言define的用法,c语言define,c语言中define的用法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

int main(void)
{
   string   a[] = {"I", "like", "to", "fight,"},
   b[] = {"pinch,", "and", "bight."};
   printf("%s %s %s %s %s %s %s\n", a[0], a[1], a[2], a[3], b[0], b[1], b[2]);
   return 0;
}
</div>
用#define替换掉typedef的行,并且,已经给出的#define示例不能通过,但是,程序中只要添加一个字符,就可以了.

====================这个问题的解答===========================

有下面两种定义pStr数据类型的方法,两者有什么不同?哪一种更好一点?
typedef char* pStr;
#define pStr char*;

答案与分析:

通常讲,typedef要比#define要好,特别是在有指针的场合。请看例子:
typedef char* pStr1;
#define pStr2 char *
pStr1 s1, s2;
pStr2 s3, s4;

在上述的变量定义中,s1、s2、s3都被定义为char *,而s4则定义成了char,不是我们所预期的指针变量,根本原因就在于#define只是简单的字符串替换而typedef则是为一个类型起新名字。
上例中define语句必须写成 pStr2 s3, *s4; 这这样才能正常执行。

所以程序

   return 0;
}
</div>
==========================
确实很巧妙!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • typedef和#define的用法以及区别
  • C语言中#define与typedef的互换细节详解

相关文章

  • 2017-05-28用VC++6.0的控制台实现2048小游戏的程序
  • 2017-05-28基于C语言指令的深入分析
  • 2017-05-28Cocos2d-x学习笔记之Hello World!
  • 2017-10-15ST17H26移植软时钟代码
  • 2017-05-28C++中extern "C"的用法
  • 2017-05-28C++静态成员变量和静态成员函数的使用方法总结
  • 2017-05-28C++统计软件使用时间代码示例
  • 2017-05-28C读txt到二维数组的实现方法
  • 2017-05-28C++编程小心指针被delete两次
  • 2017-05-28深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c语言计算三角形面积代码
    • C++中的按位与&、按位与或|、按位异或^运算符详解
    • C语言kmp算法简单示例和实现原理探究
    • 剖析C++编程当中指针作为函数参数的用法
    • C语言数据结构中数制转换实例代码
    • 浅析VC++中的头文件包含问题
    • c语言连接mysql数据库的实现方法
    • 利用C++实现矩阵的相加/相称/转置/求鞍点
    • C语言变长数组 struct中char data[0]的用法详解
    • 浅谈#ifndef,#define,#endif的作用和用法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有