2020-03-30 |

使用内存

C语言是一种低级语言,可以方便地访问内存位置并执行与内存相关的操作。

例如,scanf()函数将用户输入的值放在变量的位置或地址。这是通过使用&符号实现的。

例如:

int num;
printf("输入一个数: ");

scanf("%d", &num);

printf("%d", num);    

&num是变量num的地址。

存储器地址是以十六进制数表示的。十六进制(hex)是一个基数为16的数字系统,它使用数字0到9和字母a到F(16个字符)来表示一组四个二进制数字,这些数字的值可以是0到15。

对于32位内存来说,读取一个8个字符长的十六进制数要比试图用二进制来破译32个1和0容易得多。

以下程序显示变量i和k的内存地址:

void test(int k);
int main() {
    int i = 0;
    
    printf("i的地址是 %x\n", &i);
    test(i);
    printf("i的地址是 %x\n", &i);
    test(i);

    return 0;
}

void test(int k) {
    printf("k的地址是%x\n", &k);
}
 

在printf语句中,%x是十六进制格式说明符。

程序输出因运行而异,但类似于:

i的地址是846dd754

k的地址是846dd758

i的地址是846dd754

k的地址是846dd758

变量的地址从声明到其作用域结束都保持不变。

0

java教程
php教程
php+mysql教程
ThinkPHP教程
MySQL
C语言
css
javascript
Django教程

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论