В C вы передаете указатель по ссылке (int *pointer; myfunction(&pointer);
), если вам нужна функция для изменения указателя, то есть делает указатель указателем на другой адрес памяти .
Если вы хотите изменить текст в GtkLabel, нет необходимости изменять, куда указывает указатель метки. Это уже указывает на правильное место - структура, которая, вероятно, где-то в куче. Все, что вы хотите сделать, это изменить значение одного из полей структуры, чтобы прочитать «некоторый текст». И именно поэтому API Gtk + указывает, что в этом случае вам нужно передать указатель метки по значению.