前提・実現したいこと
どなたか教えて下さい。
現在、自分はC言語の勉強を行っています。
mallocを使用している際につまずいたので、教えていただきたく質問させていただきました。
mallocをメモリ確保の関数を別で定義して、使用する場合に、
reutrn で確保したアドレスを返すというのは理解できました。
今回は、そうではなく、引数で返したりはできないのか?考え
質問しました。
例えば以下のようなコードのイメージです。(適当ですみません。。)
該当のソースコード
#include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <string.h> #define SUCCESS (0) #define ERROR (-1) int malloc_func(char *p, int get_length); int main(){ char *p; int get_length = 128; int ret; //printf(main adress %p\n,&p); ここ ret = malloc_func(p,get_length); return 0; } int malloc_func(char *p, int get_length){ //printf(main adress %p\n,&p); ここ char *array; array = malloc(sizeof(char) * get_length); if (array == NULL) { fprintf(stderr,"メモリ不足です。"); return ERROR; }; p = array; return SUCCESS; }
質問したいこと
・確保したアドレスを戻り値ではなく、引数で返すことは可能か?
【追加】
・引数にポインタを渡したら、実引数と仮引数は同じものがくると考えていたのですが、違うのですか?コメントアウトしている部分です。
以上です。
どなたか回答いただけると助かります。
お願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/26 15:55
2020/02/26 16:57
2020/02/29 02:49