char *を渡して別の関数に変更しようとしていますが、どういうわけかセグメンテーション違反が発生し続けています。
完全なコードは次のとおりです。
#include <stdio.h>
void getString(char** str) {
*str[0] = '$';
char c;
int i = 1;
while ((c = getchar()) != '$') {
if (c != '\n') {
*str[i-1] = c;
i++;
}
}
*str[i] = '\0';
}
int main (int argc, char *argv[]) {
char* str = (char*)malloc(200 * sizeof(char));
while (1) {
getString(&str);
printf("String: %s\n",str);
}
return 0;
}
str [0] ='$'から*を取得すると、整数へのポインタを渡す警告が表示されます。
私がめちゃくちゃしているダンノ。