2018-09-27から1日間の記事一覧

副作用が発生する式の評価順序に依存しないようにすること

解説 1, 2のようなコードの動作は未定義であり、 func1から実行されるのかfunc2から実行されるかは処理系依存。 必ず3のような書き方を行い、func1, func2が実行される順番を明示的に指定すること。 #include <stdio.h> int G_a; int x, y, z; int main(void){ /* 1. </stdio.h>…

extern宣言した配列のサイズをsizeofで取得するには

正しく配列のサイズを取得できるケース test.c int array[] = {1,2,3}; Main.c #include <stdio.h> extern int array[3]; int array2[] = {1,2,3}; int main(void){ printf("array size is %d\n",(int)sizeof(array)); printf("array2 size is %d\n",(int)sizeof(arra</stdio.h>…