C 的foreach
那位大虾用#define玩过foreach?搞个通用点的瞻仰一下。
下面的是我写的,太简单了。抛砖引玉
#define SIZE(array) sizeof (array) / sizeof *(array)
#define foreach(x,array) for(int* x = array; x< array+SIZE(array);x++)
int main(void){
int arr[5]={1,2,3,4,5};
int size = sizeof (arr) / sizeof *(arr);
printf("arr=[ ");
for(int* x = arr; x< arr+size ;x++){
printf("%d ", *x);
}
printf("]\n");
foreach(x,arr){
*x+=10;
printf("value: %d\n", *x);
}
return 0;
}
知道foreach的人就知道怎么用这个x