Learn data structure with a specified language is not a bad idea. But from that, you are going to limitting thing. You'll understand that what I'm saying. I recommend you that first of all study the data structures in deep. Because it will then easy to handle in any language. I prefer you that don't attach with one language, because you're a student. You can be a genius if you can try it with all.
While I understand what you're saying, I disagree. Learning the theory is indeed critical, but experience is equally critical. To gain experience, you need to work with data structures in an actual programming language. C is a good choice because it's low level enough to not hide any of the nuances of the data structure implementation from you and avoid unnecessary boilerplate while also being high level enough to give you a good overall view of the algorithms involved.
The experience gained from C can easily transfer to most of the languages in common use today.