typedef介绍
1、typedef是什么?
typedef是C中的类似于extern/static的一个关键字,用于为一种类型引入一个新的名字。并不会分配内存。
2、typedef常见用法?
1)
typedef int tni;
tni a; ==int a;
2)
typedef char ch[5];
ch s; == char s[5];
3)
typedef int *p;
p k; == int *k;
4) typedef struct student
{
int num;
char name[10];
} std,*pstd;
std std1; == struct student std1;
pstd std2; == struct student *std2;
3、typedef与宏define的区别?
1)typedef是一种彻底的封装类型,--在声明它之后不能往里面加别的东西,即不能用其他类型说明符扩展,而宏define则可以。
如:typedef int *apple; #define peach int*;
unsigned apple i;//错误的 ==short int i;明显有问题。
unsigned peach i;//正确的 用宏#define声明的相当于简单的粘贴复制,==unsigned int i;
2)在连续几个变量的声明中#define定义的类型不能保证所有的变量为同种类型。
如 apple i,j; ==int *i;int *j;
peach i,j; int* i,j;==int *i;int j;
typedef介绍的更多相关文章
- 在C和C++中struct与typedef struct的区别详细介绍
c中测试code struct Cmstruct { int c; } Cm; // Cm是一个变量 typedef struct MyStruct //这里的 Mystruct 可以省略 { int ...
- DBoW2库介绍
DBoW2库是University of Zaragoza里的Lopez等人开发的开源软件库. 由于在SLAM回环检测上的优异表现(特别是ORB-SLAM2),DBoW2库受到了广大SLAM爱好者的关 ...
- c++转载系列 std::vector模板库用法介绍
来源:http://blog.csdn.net/phoebin/article/details/3864590 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作 ...
- Standard C 语言标准函数库介绍
全面巩固所知所学,往精通方向迈进! Standard C 语言标准函数库速查 (Cheat Sheet) from:http://ganquan.info/standard-c/function/ C ...
- iOS-几大框架的介绍
1.Objective-C之Foundation框架 概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objectiv ...
- lua解析脚本过程中的关键数据结构介绍
在这一篇文章中我先来介绍一下lua解析一个脚本文件时要用到的一些关键的数据结构,为将来的一系列代码分析打下一个良好的基础.在整个过程中,比较重要的几个源码文件分别是:llex.h,lparse.h.l ...
- UTF-8和GBK等中文字符编码格式介绍及相互转换
我们有很多时候需要使用中文编码格式,比如gbk.gb2312等,但是因为主要针对中文编码设置,因此并不完全通用,这样一来就有了在各编码间相互转换的需求,比如和UTF8的转换.可是在我使用的过程中,却发 ...
- 数据结构图文解析之:数组、单链表、双链表介绍及C++模板实现
0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...
- C++ 中的std::vector介绍(转)
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vec ...
随机推荐
- C++ 默认参数(转载)
函数的默认参数值,即在定义参数的时候同时给它一个初始值.在调用函数的时候,我们可以省略含有默认值的参数.也就是说,如果用户指定了参数值,则使用用户指定的值,否则使用默认参数的值. void Func( ...
- 如何在Chrome下使用Postman进行rest请求测试
在web和移动端开发时,常常会调用服务器端的restful接口进行数据请求,为了调试,一般会先用工具进行测试,通过测试后才开始在开发中使用.这里介绍一下如何在chrome浏览器利用postman应用进 ...
- php匹配图片、视频文件、音乐文件的正则表达式
$pattern_video = "/(src)=(\\\?)([\"|']?)([^ \"'>]+\.(swf|flv|mp4|rmvb|avi|mpeg|ra| ...
- dedecms 图集标签{dede:productimagelist} {dede:field name='imgurls'}&nbs
1.{dede:productimagelist}{/dede:productimagelist} 2.{dede:field name='imgurls'}{/dede:field} 这两个图集标签 ...
- window.top.location.href 和 window.location.href 的区别
window.location.href 是本页面跳转 window.top.location.href是最外层的页面跳转
- phpmailer的SMTP ERROR: Failed to connect to server: 10
请问,我在win7上学习使用phpmailer时,出现这种错误怎么处理啊? SMTP ERROR: Failed to connect to server: (0) SMTP connect() fa ...
- ip001
----------- <?phpheader('Content-type:text/html;charset=utf8');// <script type="text/java ...
- BIGIP-LTM中的NAT和SNAT
http://250688049.blog.51cto.com/643101/1095880 一.NAT(Network Address Translation)网络地址转换1.NAT简介 NAT ...
- 2017-06-30(ps pstree top kill w killall pkill)
ps(查看系统下所有进程) -a 显示一个终端的所有进程,除了会话引线 -u 显示进程的归属用户以及内存的使用情况 -x 显示没有控制终端的进程 -l 长格式显示,更加详细的信息 -e 显示所有的进程 ...
- Eclipse设置代码自动提示
Eclipse只需几步简单的设置就可以像idea那样代码自动提示了,喜欢的小伙伴可以赶紧动手设置,提升效率. 第一步:打开Eclipse --> Window --> Preference ...