目录

Difference Between typedef int x[10] and #define x int[10]

What typedef struct foo { ... foo; } foo; Means


void (*signal(int sig, void (*func)(int)) ) (int);
void (*signal(                          ) ) (int);
typedef void (*ptr_to_func) (int);
/* this says that ptr_to_func is a pointer to a function
* that takes an int argument, and returns void
*/
ptr_to_func signal(int, ptr_to_func);
/* this says that signal is a function that takes
* two arguments, an int and a ptr_to_func, and
* returns a ptr_to_func
*/
typedef int *ptr, (*fun)(), arr[5];
/* ptr is the type "pointer to int"
* fun is the type "pointer to a function returning int"
* arr is the type "array of 5 ints"
*/

Difference Between typedef int x[10] and #define x int[10]

#define peach int
unsigned peach i; /* works fine */
typedef int banana;
unsigned banana i; /* Bzzzt! illegal */
#define int_ptr int *
int_ptr chalk, cheese;
typedef char * char_ptr;
char_ptr Bentley, Rolls_Royce;

What typedef struct foo { ... foo; } foo; Means

There are multiple namespaces in C:

  • * label names
  • * tags (one namespace for all structs, enums and unions)
  • * member names (each struct or union has its own namespace)
  • * everyting else
struct vnode {
long v_flag;
long v_usecount;
struct vnode *v_freef;
struct vnodeops *v_op;
};
struct foo {int foo;} foo;
typedef struct baz {int baz;} baz;struct baz variable_1;baz variable_2;
typedef struct my_tag {int i;} my_type;struct my_tag variable_1;my_type variable_2;
typedef struct fruit {int weight, price_per_lb } fruit; /*statement 1 */struct veg {int weight, price_per_lb } veg; /*statement 2 */

ANSI C typedef相关推荐

  1. 区分LPCTSTR和LPTSTR和char *

    LPSTR = char* LPCSTR = const char* LPTSTR: 如果定义了UNICODE宏,那么LPTSTR = wchar_t否则LPTSTR = char LPCTSTR: ...

  2. LPCTSTR和LPTSTR和char *的区别及相互转化

    1.LPCTSTR和LPTSTR和char *的区别 LPSTR = char* LPCSTR = const char* LPTSTR: 如果定义了UNICODE宏,那么baiLPTSTR = wc ...

  3. Windows程序运行机制

    写在前面 首先理解下两个名词: API 和 SDK. API(Application Programming Interface), 译为应用程序编程接口. 是Windows系统提供给开发人员的函数的 ...

  4. TCHAR的作用、typedef简介和ASCII,ANSI与Unicode的区别与联系

    1.编码 ASCII 码使用指定的7 位二进制数组合来表示128 种可能的字符.标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到 ...

  5. 《windows核心编程系列》二谈谈ANSI和Unicode字符集

    第二章:字符和字符串处理 使用vc编程时项目-->属性-->常规栏下我们可以设置项目字符集合,它可以是ANSI(多字节)字符集,也可以是unicode字符集.一般情况下说Unicode都是 ...

  6. C++中Ansi、Unicode、UTF8字符串之间的转换和写入

    转自: http://dark0729.blogbus.com/logs/51496111.html Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件 Un ...

  7. 内存对齐与ANSI C中struct型数据的内存布局 【转】

    转自:http://blog.chinaunix.net/uid-25909619-id-3032209.html 当在C中定义了一个结构类型时,它的大小是否等于各字段(field)大小之和?编译器将 ...

  8. #define用法以及#define和typedef区别

    1.简单的define定义 #define MAXTIME 1000 2.define的"函数定义" define可以像函数那样接受一些参数,如下 #define max(x,y) ...

  9. 在VS2010下使用 UNICODE 和 ANSI 的混合编程

    1,在VS2010 编译器的菜单上 "项目----属性---左侧的配置属性----常规---右侧的 字符集 "可以对项目所要使用的字符集进行定义,可以选择"使用Unico ...

最新文章

  1. DDD领域驱动设计之聚合、实体、值对象
  2. 自动检索、修复Python代码bug,微软推出DeepDebug
  3. 怎样在Ubuntu 14.04中安装Java
  4. 【转】Android使用嵌入式关系型SQLite数据库存储数据【学习记录】
  5. python接口自动化测试(二)-requests.get()
  6. csharp: ODP.NET,System.Data.OracleClient(.net 4.0) and System.Data.OleDb读取Oracle g 11.2.0的区别...
  7. MongoDB(4)--MongoDB服务的启动
  8. python 打开pdf文件_Python3检验pdf文件是否有效
  9. java就_GitHub - IammyselfYBX/This_is_how_Java_should_be_learned: 《Java就应该这样学》
  10. Linux 的 Out-of-Memory (OOM) Killer
  11. oa是计算机辅助系统吗,oa是管理系统吗
  12. 机器学习| 面试题:11、LDA算法原理
  13. 用Acrobat pro DC 自动生成pdf目录——知网硕博论文为例(附带如何下载只有caj的pdf)
  14. 谷歌(Google)浏览器显示内存不足,无法打开此网页
  15. 抖音电商的带货情况究竟如何,抖音电商带货前景如何
  16. 【i春秋综合渗透训练】我很简单,请不要欺负我
  17. Qt for IOS 制作APP启动页面
  18. CSDN联合BSV发布首个区块链开发工程师能力认证
  19. web课程设计网页规划与设计 基于HTML+CSS+JavaScript制作智能停车系统公司网站静态模板
  20. 黑盒圆桌派 | 如何巧用事件营销以“己”博“众”?

热门文章

  1. 动态规划之神奇的口袋问题
  2. linux下设置opencv环境变量
  3. AGC 030 B - Tree Burning
  4. 【PHP 面试知识梳理】
  5. ADO.NET知识点
  6. sublime3使用笔记
  7. ubuntu 设置php开机启动
  8. unrecognized selector sent to instance问题的解决
  9. “模板”学习笔记(7)-----数组模板+对象数组举例
  10. 两个网站:借物网,rss交流网站opml.cn