退会済みユーザー
2018/03/14 06:34
現実的。
Q&A
解決済
退会済みユーザー
総合スコア0
投稿2018/03/14 06:15
関数とポインタを勉強してます、わからないところが有るので教えてください。
関数内で作られた配列を受け取る時はどのようにすればいいのでしょうか?
数字の配列は個々に値を受け取れず
文字列の配列は個々でしか受け取れず
仕組みがよく解りません。
return p;をreturn p[1];とすると
return makes pointer from integer without a cast
と出ます。そもそもp[1]はpointerだと思ってたのですが違うのですか?
どのようにして関数内で作られた配列を受け取るのか教えて欲しいです。
よろしくお願いします。
C
1int *getNum() { 2 int a[] = {111, 222, 333}; 3 int *p = a; 4 return p; 5} 6char *getStr() { 7 char *str[] = {"One", "Two", "Three"}; 8 return str[1]; 9} 10 11int main(void) { 12 printf("%d\n", getNum()[1]); 13 printf("%s\n", getStr()); 14 return 0; 15}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/14 09:23
2018/03/14 09:50
退会済みユーザー
2018/03/14 10:04 編集
2018/03/14 11:13
退会済みユーザー
2018/03/17 08:38