EDIT: An initial “float** floats;” was a typo, corrected. Also, “*floats[0] = 1.0;” does work, but “*floats[1] = 1.0;” segfauls at that point. The array is malloced. Compilation has no warnings on pedantic c99.
This worked:
(pseudo:)
void func(int*);
int i;
func(&i);
void func(int* i) {
func2(i);
}
void func2(int* i) {
*i = 2;
}
initial value changed to 2.
but this didn’t work:
void func(float**);
float* floats;
func(&floats);
void func(float** floats) {
func2(floats);
}
void func2(float** floats) {
*floats[1] = 1.0;
}
segfault on assignment;
Why are you passing a pointer to an array? Have you tried