typedef struct Int40
{
int *digits;
} Int40;
Int40 *parseString(char *str)
{
Int40 *p;
int i;
int *intPtr;
printf("%s\n", str);
p->digits = malloc(sizeof(str) + 1);
for(i = 0; i < strlen(str); i++)
{
p->digits = atoi(str);
printf("%d\n", p->digits);
}
int main(int argc, char *argv[])
{
Int40 *p;
parseString("0123456789abcdef0123456789abcdef01234567");
return 0;
}
我试图将字符串“012345679abcdef0123456789abcdef01234567”放入结构指针数字中,但是我不确定我应该怎么做。
我对当前程序的错误是'传递atoi的参数1使得指针来自整数而没有强制转换
如果我从str [i]和p-&gt; digits [i]
中删除[i]p->digits[i] = atoi(str[i]);
然后我的结果只返回123456789
编辑** 我在parseString函数中添加了一个malloc 我试图弄清楚如何使用struct
中的int * digits将char * str转换为int格式答案 0 :(得分:0)
看起来你对一些事情感到困惑。
1)内存分配
FULL OUTER JOIN
这是字符串的分配,但var ans = (from a in dbo.BILL_INFO_DETAIL
join b in dbo.SERVICE_INFO on a.SERVICE_CODE equals b.SERVICE_CODE
join p in dbo.PAY_MODE on a.PAY_MODE_ID equals p.PAY_MODE_ID
where (a.INPUT_STATUS == "1") &&
(new[] { 1610, 1611, 1612 }.Contains(b.SERVICE_CODE)) &&
(new[] { 10, 11, 12 }.Contains(a.STAMP_DATE.Month)) &&
(new[] { 2017 }.Contains(a.STAMP_DATE.Year)) &&
(b.FEE > 1)
let TransactionType = new[] { 1, 2 }.Contains(a.PAY_MODE_ID) ? "OFFLINE" : "ONLINE"
group new { a, b, p } by new { bName = b.NAME, TransactionType, pName = p.NAME } into abpg
orderby abpg.Key.TransactionType
select new {
Service_Name = abpg.Key.bName,
TransactionType = abpg.Key.TransactionType,
Payment_Method = abpg.Key.pName,
Transaction = abpg.Sum(abp => abp.a.REQUESTED_QTY),
Income = abpg.Sum(abp => abp.a.ITEM_TOTAL)
}).Distinct();
是src/general/utils.js
类型的指针。
2)函数utils.js
p->digits = malloc(sizeof(str) + 1);
返回p->digits
值。
int
类型变量的最大值为atoi
检查:limits.h。
如果您使用int atoi(const char *str);
,则可以为您提供int
位数字。
你需要比int
更多的数字吗?
3)记住为结构分配内存,并记得释放它。
检查以下程序:
2147483647
输出:
long long int