C言語を久しぶりに触ったものです。
復習がてら、配列の要素をfor文で表示するプログラムを書いてみたところ、要素数がしっかり反映されませんでした。
C
1#include<stdio.h> 2 3void print_list(int x[]){ 4 5 int size; 6 printf("sizeof(x) is %d\n", sizeof(x)); 7 size = sizeof(x) / sizeof(int); 8 printf("sizeof(int) is %d\n", sizeof(int)); 9 printf("size is %d\n", size); 10 for(int i=0; i<size;i++){ 11 printf("x[%d] = %d\n",i, x[i]); 12 } 13} 14 15int main(){ 16 int x[5] = {1,2,3,4,5}; 17 print_list(x); 18} 19
terminalでの表示は以下のとおりです。
sizeof(x) is 8 sizeof(int) is 4 size is 2 x[0] = 1 x[1] = 2
環境はubuntu 16.04 LTS 64bitです。
もし他に必要な情報がございましたコメントよろしくおねがいします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。