I just started learning C a few days ago and I'm having a bit of difficulties with pointers. I'm trying to convert a string to an array of integers. The little snipet below seems to be working but I'm getting a warning :
In function 'charToInt32' warning: assignment makes pointer from integer without a cast [enabled by default]| ||=== Build finished: 0 errors, 1 warnings (0 minutes, 0 seconds) ===|
The warning comes from the line
So I'm trying to understand what's the best solution. Should I use strncpy (but can I use strncpy for integers?) or something else or did I just completly misunderstand pointers?
Also, at the end of the program I have the following line:
Casting int32result[i] to unsigned int is it the only solution to avoid another warning of using %u for an unsigned int * ?
I did check the other "assignment makes integer from pointer without cast" topics/question but I could not quite get a final answer from them.
Thank-you for your help.
asked May 16 '13 at 12:38
Post: #3RE: warning: assignment makes pointer from integer without a cast?
(2012-10-31 22:03)g1andrew Wrote: i think your code is making an assignment of an integer value (or variable) to a pointer (address), which is bad.
Yep. But specifically for assignment two, this often seems to be caused simply by failing to #include <string.h>.
If this is the problem, you should be looking first at the first error message you got. Students who have shown me such problems lately have been receiving error message output which first says that you're calling a function without declaring it, and secondly the problem with the illicit conversion between integers and pointers. If you solve the first problem (by #including the appropriate include file for the function, which you can find out from its man page), that also solves the second, in these cases.
In general, if you're confused about compiler error messages, look at the first message first, because that problem may be causing the rest of the problems.