2016-06-15 9 views
1

は、一つはサブルーチンにその場で構築され、配列を渡すことができます:「オンザフライ」配列をC関数に渡すことは可能ですか? FORTRANで

call sub_that_wants_3_elm_array((/1,2,3/),output_arg) 

はCに類似した何かをすることは可能ですか?これは非常に基本的なようですが、私はこれで何かを見つけることができませんでした。

+0

Yes.Itは(複合リテラル、 –

+0

よく研究されていない複合リテラルと呼ばれています[N1570](http://chimera.roma1.infn.it/SP/COMMON/iso-iec-9899-1990.pdf)6.5.2.5)それかもしれません。 – MikeCAT

+0

初心者は、すべてのプログラミング言語が同じ(または同様の)機能をサポートしていると思うのはなぜですか? – Olaf

答えて

4

はい。 複合リテラル(C99以降)を使用することは可能です。

など。

#include <stdio.h> 

void fun(int *a) 
{ 
    printf("%d\n", a[2]); //prints 72 
} 

int main(void) 
{ 
    fun((int[]){1, 99, 72}); 
} 

あなたにもリンクからいくつかのより多くの例を見つけることができます。

  1. The New C: Compound Literals
  2. Compound Literals - gcc
+0

ダング、それは働いた!あなたにupvoteを与えたいが、stackoverflowが私を待たせている。私がそれに慣れていないかどうか教えてください。ありがとう! –

+0

@ bob.sacamento答えを受け入れることを意味しましたか? –

+1

@ machine_1ああ...ええ、そうだった。しかし、これですべて完了です。 –

関連する問題