小编jac*_*ack的帖子

内联函数

可能重复:
C++中内联函数的好处?

我对内联函数感到困惑.

人们说内联函数通过用原始代码替换函数来节省CPU时间,但是与普通函数相比,它增加了代码的大小.

所以真正的问题是如果我继续在循环中调用内联函数10次,代码大小是否会增加.

假设内联函数大小为2个字节,它会增加20个字节吗?

有谁可以向我解释一下?

c c++

4
推荐指数
1
解决办法
801
查看次数

c中的sizeof运算符

我对此代码有疑问:

int main()
{
    printf("%d",sizeof(""));
}
Run Code Online (Sandbox Code Playgroud)

打印1,为什么?

c

2
推荐指数
1
解决办法
299
查看次数

一元运算符如何在C中工作,你不能预先增加零

我很困惑一元运算符如何在C中用于补充,逻辑否定和预增量.

Ones补充对0的作用是这样的:

int main()
{
    int a;
    a = ~0;          // Ones complement
    printf("%d",a);  // prints as -1.
}
Run Code Online (Sandbox Code Playgroud)

而逻辑否定对0的作用是这样的:

int main()
{
    int a;
    a = !0;          // Logical negation
    printf("%d",a);  // prints as 1.
}
Run Code Online (Sandbox Code Playgroud)

但Preincrement对0会产生编译器错误:

int main()
{
    int a;
    a = ++0;        //pre incrementing 0.  error: non-lvalue in increment
    printf("%d",a); 
}
Run Code Online (Sandbox Code Playgroud)

考虑到他们都是一元运算符,为什么不是所有三个都工作?

c unary-operator pre-increment

2
推荐指数
1
解决办法
4134
查看次数

malloc和realloc函数

int main( )    
{
    int *p;
    p=(int *)malloc(20);
    printf("%u",p); \\ printing some memory adress 
    p=(int *)realloc(p,0);
    printf("%u",p); \\ printing as 0
    printf("%u",*p); \\ printing the value as 0
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是relloc作为free()函数的语句,因为指针p指向它中的NULLNULL值.这20个字节会被释放吗?

c

0
推荐指数
1
解决办法
962
查看次数

有什么方法可以改变用c中的const限定符定义的变量中的值?

我现在要了解的一件事.问题是关于constC中的限定符.在我的程序中,我想要更改用const限定符定义的变量的值.

例如:

int main()
{
const int i=40;
i=50 ;  // error
}
Run Code Online (Sandbox Code Playgroud)

但有没有办法在上面的例子中改变i的值.请让我知道.谢谢

c

-2
推荐指数
2
解决办法
140
查看次数

标签 统计

c ×5

c++ ×1

pre-increment ×1

unary-operator ×1