C语言数组和指针的区别
来源:互联网 发布:windows软件包下载 编辑:程序博客网 时间:2024/05/17 05:52
C语言数组和指针的区别
数组和指针在编译器看来的区别在于:数组在符号表里本身就是一个地址,指针在符号表里的内容才是一个地址
例如:
char a[9] = “abcd” 编译器在查找a[1]时,首先在符号表看到a代表了4460地址 然后计算 4460 + i 的地址,找到字符b
char *b = a; 编译器在查找b[1]时,首先在符号表找到b代表了7000地址,然后在7000地址的内容为4460,然后再计算 4460 + i 的地址,再找到符号b
#include<stdio.h>void print_size(char str[]){ printf("print size:%d\n",sizeof(str) );}int main(){ char my_arry[100]; char * my_point; my_point = my_arry; printf("array:%d\npoint:%d\n",sizeof(my_arry),sizeof(my_point)); // 100,8 print_size(my_arry); // 8,退化为指针,传说这样设计是为了提高效率 print_size(my_point); // 8}
0 0
- C语言指针、数组指针和指针数组的区别
- C语言:数组和指针的区别
- C语言数组和指针的区别
- C语言:数组和指针的区别
- 【C语言】指针和数组的区别和联系
- 精通C语言2-数组和指针的区别
- C语言中数组名和指针的区别
- C语言 字符指针和字符数组的区别
- C语言指针和数组的本质区别
- c语言中数组和指针的区别与联系
- C语言指针字符串和数组字符串的一点区别
- C语言中数组名和指针的区别
- C语言中数组和指针的区别
- C语言字符指针和字符数组的区别
- c语言中字符数组和字符指针的区别
- C语言数组与指针的区别
- 黑马程序员——C语言之指针数组和数组指针的区别
- C语言学习记录 指针数组和数组指针的区别
- 用makefile编译生成.a文件(linux静态库),并编译进可执行文件中
- Linux运行脚本作为守护进程的各种方法
- Android设计模式系列-单例模式
- 工具的使用问题解决(eclipse)
- 创建线程的两种常用方法
- C语言数组和指针的区别
- [数据库] 关系型数据库与NoSql
- iOS开发 -- 事件处理(触摸,晃动)
- jQuery-Validate表单验证中文API
- DIB位图文件的格式、读取、保存和显示
- js创建简单的object
- 两个TDateTime类型的数据相减
- iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
- 公钥加密算法到底什么鬼