首页 > 代码库 > 程序猿之---C语言细节18(一些奇怪表达式)

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

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

#include <stdio.h>
#define N 10

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

#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;
}

输出:


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