#define min(a,b)((a)<=(b)?(a):(b))
#define max(a,b)((a)>=(b)?(a):(b))
&操作,当操作数为1时,结果不变,当操作数为0时,结果为0
因此,设置a的bit 4为1的方法就是将a和00001000作|操作,这样其他位都不变,只有第3位变成1
清除a的bit 4的方法就是将a和11110111作&操作,这样第4位变成0,其他位不变
typedef struct Node{int data;struct Node *next;}LNode;void main(){LNode *p=NULL;
p=(LNode*)malloc(sizeof(LNode));
if(p=NULL){
printf("malloc failed.\n");
return;
}printf("p address is %#x\n",p); //这里%d#########################
return;}
free(p);<di> </di>
void foo(void){unsigned int a = 6;int b = -20;(a+b > 6) puts("> 6") : puts("<= 6")}
a)一个整型数(An integer)
b) 一个指向整型数的指针(A pointer to an integer)
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer)
d) 一个有10个整型数的数组(An array of 10 integers)
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to integers)
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)
h) 一个有10个函数指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )
答案是:
a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers (int * 修饰后面对数组)
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int);// A pointer to a function a that takes an integer argument and returns an integer
h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer
int (*a)[10]; //指向有10个int类型数组的指针a
int (*a)(int);//函数指针,指向有一个参数并且返回类型 均为int的函数
int (*a[10])(int); //函数指针的数组,指向有一个参数并且返回类型均为int的函数的数组
全部评论
(1) 回帖