私はまだCの初心者ですが、memset機能に問題があります。
char *を関数に渡し、この関数内で配列を作成してから、memsetを使用して各値を設定します。私はdbxを使用して、この変数が関数に入るのを監視してきましたが、memsetを渡すと、何らかの理由で「」に設定されます。
まず、なぜこれが起こるのですか?memsetがchar*が配置されているメモリをリセットしている必要があると思いますか?
次に、各要素を「0」に設定するためのより良い方法はありますか?
これが私のコードです:
static char *writeMyStr(char *myStr, int wCount) {
// here myStr is set to "My String is populated"
char **myArr;
myArr = (char **) malloc(sizeof(char *) * wCount);
memset(myArr, 0, sizeof(char *) * wCount); // myStr is set to ""
... populate array ...
}