程序员之---C语言细节18(一些奇怪表达式)

主要内容:一些奇怪表达式

#include <stdio.h>
#define N 10

int main()
{
	int a = 1;
	int *q = &a;
	int p = N * sizeof *q;   // sizeof 后的操作数是变量是则不用加括号,类型keyword则加括号 

#if 0	
    // 这里不知道怎么測试了 
	void* t; 
	p = N * sizeof((int)*t); // 这里不是把未知类型t转换成int型,而是int长度乘以 
#endif

	printf("p = %d\n", p);
	int *r;
	r = malloc(p);
	
	int i;    // 写成int i = 1,2;错误 
	i = 1,3;  // ”=“优先级高于 ”。“ 
	printf("i = %d\n", i);// 输出1 
	return 0;
}

输出:


posted @ 2017-05-11 20:29  mfmdaoyou  阅读(203)  评论(0编辑  收藏  举报