2024.01.20бкрс они не всегда взаимозаменяемы, во многих случаях один из вариантов будет звучать странно - 给妈妈买礼物 нормально, а 买给妈妈礼物 нет
Тут есть нюанс...
买给妈妈礼物 - в устной речи, вообще-то, не редкость, но по "школьной грамматике", как Вы справедливо заметили, может быть признано ошибкой, т.к. если в постпозиции к глаголу прикрепляется косвенное дополнение с предлогом, то для прямого дополнения уже не остается места, и оно должно быть вынесено в препозицию с предлогом 把. Однако, как ни странно, именно с глаголом 買 это не очень работает, а потому в устной речи скорее услышишь 買給媽媽禮物, чем 把禮物買給媽媽 - вот такой вот интересный узус (во всяком случае, в гоюй).
Также в норме гоюй очень употребительна конструкция
連動結構:買禮物給媽媽 - т.к. 給 в ней расценивается как полноценный глагол. Но для нормы путунхуа такое употребление уже считается ненормативным, т.к. признается, что 給 в этой конструкции может быть только предлогом.
В то же время, в китайской грамматике выделяется категория 雙賓動詞 ("глаголов двойного дополнения", часто их называют "глаголами давания"). Так вот при этих глаголах оба дополнения: сначала - бенефактив ("получающий пользу"), затем - пациенс ("то, над чем осуществляется действие") - могут следовать один за другим. А потому, в теории, к таким глаголам относится и 買 ("покупать"), т.е. грамматически допустима конструкция 買媽媽禮物, но я бы не назвал такую форму для глагола 買 широко употребимой в наших краях - режет слух.
Таким образом, для тех, кто готовится к сдаче HSK, картина с "купить маме подарок" получается не очень приглядной:
1) 給媽媽買禮物 - самая безопасная конструкция, катит везде!
2) 把禮物買給媽媽 или 買媽媽禮物 - по теории, должны прокатить в путунхуа (не ручаюсь!), но вряд ли прокатят в гоюй.
3) 買禮物給媽媽 - прокатит в гоюй, но не прокатит в путунхуа.
Но это только глагол 買 такой не от мира сего (а может, и не только
). Вроде, с другими глаголами всё работает, как надо:
1) 給媽媽送禮物 - OK!
2) 把禮物送給媽媽 - OK!
3) 送媽媽禮物 - OK!
3) 送禮物給媽媽 - OK! (только для гоюй!)