Okay, first things first - no, knowing C is not a prerequisite to learning C++. Indeed, it can be a hinderance.
Secondly, this is completely situational. Whether or not you'll need to know C depends entirely on whether the job requires it. If you want to be an embedded systems guy then yes, learning C will help. Otherwise, most jobs don't require it. If a job needs C it should say so. If it doesn't say so, it probably doesn't need it. In regards to the data structures, again it comes down to the company. Usually a company will say "We program in these languages, write us this data structure. Use the language of your choice from the list above." If they ask you to write it in C, you simply say "I don't know C - it doesn't say on my resume that I know C, this job isn't for me."