文档详情

网易云课堂 翁恺 程序设计入门—C 语言--第七周:指针与字符串.pdf

发布:2017-10-04约1.41万字共15页下载文档
文本预览下载声明
网易云课堂 翁恺 程序设计入门—C 语言 第七周:指针与字符串 c 语言 7-1 指针初步 7-1-1 类型大小与取地址运算  sizeof 是一个运算符 o 给出某个变量货类型在内存中所占据的字节数 sizeof(int); sizeif(i); o double 变量在内存中占据的空间是 int 变量的两倍 1. { 2. int a; 3. a =6; 4. printf(sizeof(int)=%ld\n,sizeif(int)); 5. printf(sizeof(a)=%d\n,sizeof(a)); 6. return 0; 7. } 8. sizeof(int)=4 9. sizeof(a)=4  运算符 o scanf(%d,i);里的 · 取得变量的地址,它的操作数必须是变量 int i;prinf(0x%x,i); --Ox9ffe4c //%x 16 进制 o 地址的大小是否与 int 相同,取决于编译器 · 可以帮忙取出一个变量的地址,但是这个地址的大小,数据类型,与 int 是否相等 取决于编译器,取决于是 64 还是 32 位架构 int i;printf(%p,i); 要输出地址,用%p,而不是直接当成整数,地址和整数不总是 相等的 1. { 2. int i=0; 3. printf(0x%x\n,i); 4. printf(%p\n,i); 5. printf(%lu\n,sizeof(int)); 6. printf(%lu\n,sizeof(i)); 7. return 0; 8. } 9. 0xbff62d6c 10. 0xbff62d6c 11. 4 4 12. 8(64 位) 4(32 位)  不能对没有地址的东西取地址 ·(a+b) X ·(a++) X ·(++a) X  试试这些 ·变量的地址 ·相邻的变量的地址 ·的结果的sizeof ·数组的地址 ·数组单元的地址 ·相邻的数组单元的地址 1. { 2. int i =0; 3. int p; 4. printf(%p\n,i); 5. printf(%p\n,p); 6. return 0; 7. } 8. 0xbff81d6c 9. 0xbff81d68 堆栈 stack 自顶向下 1. int a[10]; 2. printf(%p\n,a); 3. printf(%p\n,a); 4. printf(%p\n,a[0]); 5. printf(%p\n,a[1]); 6. return 0; 7. 0x
显示全部
相似文档