博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[C语言 - 9] typedef
阅读量:5325 次
发布时间:2019-06-14

本文共 1303 字,大约阅读时间需要 4 分钟。

关键字typedef

 
typedef 操作符可以看做是普通变量和类型之间的转换开关!!
例如
typedef int Integer;//定义了一种类型
int Integer;//定义了一个变量
就是类型和变量的区别
 
A. 对数据类型定义“别名"
1 int main(int argc, const char * argv[]) {2     typedef int integer;3     integer i = 5;4     printf("print the int: %d\n", i);5    6     return 0;7 }
 
区别于宏定义的概念,typedef相当于定义了一种新的数据类型,而不是简单的别名
 
在”别名“的基础上再定义一个别名
    typedef int integer;
    typedef integer mytype;
 
B. typedef与指针
1     typedef char * String;2     String name = "Simon”;
 
C. typedef与结构体
1     typedef struct MyPoint2     {3         int x;4         int y;5     } Point;6    7     Point p = {10, 10};
 
D. typedef 结构体指针
1     typedef struct 2     { 3         int age; 4         char *name; 5     } * PP; 6   7 PP per1 = {11, "Tom"};//Running Error
 
应该为
1 int main(int argc, const char * argv[]) { 2     @autoreleasepool { 3         typedef struct{ 4             int age; 5             char *name; 6         } PP,*Person; 7          8         Person p = malloc(sizeof(PP)); 9         p->age = 12;10         p->name = "simon";11         12         printf("%d - %s\n", p->age, p->name);13     }14     return 0;15 }
 
 
E. typedef 指向函数的指针
 
 
F. #define 与  typedef 的区别
1 typedef char * String12 #define String2 char *3  4 String1 s1,s2;5 String2 s3,s4;
 
==> 其中,s1,s2,s3是char指针,s4仅仅是普通的char变量

 

 
 

转载于:https://www.cnblogs.com/wvqusrtg/p/4501125.html

你可能感兴趣的文章
随手练——HDU 5015 矩阵快速幂
查看>>
启动redis一闪就关
查看>>
Maven之setting.xml配置文件详解
查看>>
ASP.NET 4.5 Web Forms and Visual Studio vs2013年入门1
查看>>
SDK目录结构
查看>>
malloc() & free()
查看>>
HDU 2063 过山车
查看>>
高精度1--加法
查看>>
String比较
查看>>
Django之Models
查看>>
CSS 透明度级别 及 背景透明
查看>>
Linux 的 date 日期的使用
查看>>
PHP zip压缩文件及解压
查看>>
SOAP web service用AFNetWorking实现请求
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
Windows Phone开发(5):室内装修 转:http://blog.csdn.net/tcjiaan/article/details/7269014
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>