- 原題:
機器: Linux xxxxxxxxxx 3.10.0-1127.13.1.el7.x86_64 #1 SMP Tue Jun 23 15:46:38 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
#include<stdio.h>
#define mal(x, y) (x*y)
int main(){
int i=3;
char **b[5][6];
int a = mal(i++, sizeof(b)+5);
printf("%d\n", a);
return 0;
} - 輸出結果為: 3456+5=465 或者 3856+5=725
- 決議:
指標大小:指標就是地址,地址就是和機器的地址線有關系,機器位數/地址位元組數=8(有的平時使用的64位機器的指標大小也是4個位元組,主要是為了兼容32位機器,如果變成標準,需要修改某些配置)
宏定義:保持原樣替換,不做優化
前綴和后綴: 前綴,先取后加;后綴,先加后取
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/195901.html
標籤:C
