▽1
●
匿名回答1号 ベストアンサー |
http://wisdom.sakura.ne.jp/programming/c/c46.html
http://www.g-ishihara.com/c_ar_02.htm
#include <stdio.h> // 配列の要素数を求めるマクロ #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) // mainより後に関数を書くときはプロトタイプ宣言しておきます void Test(int *test,int testLen); void main(){ // グローバル変数にするならTest関数に引数はいりません int ary[] = {5,4,3,2,1,0}; // sizeof 演算子は外部配列のサイズは返せません int aryLen = ARRAY_SIZE(ary); // 通常は呼ぶ側で渡してあげます Test(ary,aryLen); } void Test(int *test,int testLen){ int i; for(i = 0; i < testLen; i++){ printf("%d\n", test[i]); } }
cだとシンプルに書けません
cには配列型が無くポインタを使うしかないからです
c++(厳密にはc++11)だとvectorを使えばそれなりにシンプルに書けます
#include <stdio.h> #include <vector> void test(std::vector<int>& array) { for (auto i: array) printf("%d\n", i); } int main() { std::vector<int> array {5,4,3,2,1,0}; test(array); return 0; }