如何访问一个空间有名访问通过名字访问变量对于CPU变量名只是地址的一个代号无名访问用一个地址进行编址使用CPU进行访问如何保存地址的值1.数字概念足够存储地址的大小2.物理含义和普通数字有什么区别c语言中如何用地址描述一个空间1.一个具备地址大小的容量如32位和64位的系统对应4字节和8字节存储2.从1个单位跑到下一个单位 ep. int *p char *p2#includestdio.h int main() { char * p1(char *)100; int * p2(int *)100; //建议要进行转换 }如何读空间变量int *a5)[5] 5个5个访问 相当于一个每行5个元素的二维数组char (*a[5])[4] 声明了一个包含 5 个指针的数组其中每个指针都指向一个由 4 个字符组成的一维数组。多维空间存储q设计一个指针可以存储二维或三维空间首地址函数地址函数名是这个空间地址的常亮值的代号int *funb内存分为代码段coderead 常量段rodataread数据段rw堆段 malloc and free栈区局部变量 OS运行内存从低位-高位堆由程序员决定存亡 其他取决与程序的开始和结束所以 char *sdsdfsd; 放在常亮段char s[]sdsdsdds放在栈区char *snew char[23]1145232 放在堆区static 字段的特点分析函数一般是常亮static 只读int fun() { static int a10; a; return a; }如果在main函数中调用多次a只会初始化一次每次调用函数时 a1空间权限访问需注意事项-读写权限ep char *p(char *)100;p[100000];//在c语言中语法是允许的同理p[-100000]也是允许的因为c语言没有越界检查int a0x12345678 char buf[4]; buf[5]0x99; //导致输出的内容为1234567899 12 34 56 78 buf【3】 buf 【2】 buf 【1】 buf 【0】
c语言进阶 空间操作
发布时间:2026/6/16 12:14:11
如何访问一个空间有名访问通过名字访问变量对于CPU变量名只是地址的一个代号无名访问用一个地址进行编址使用CPU进行访问如何保存地址的值1.数字概念足够存储地址的大小2.物理含义和普通数字有什么区别c语言中如何用地址描述一个空间1.一个具备地址大小的容量如32位和64位的系统对应4字节和8字节存储2.从1个单位跑到下一个单位 ep. int *p char *p2#includestdio.h int main() { char * p1(char *)100; int * p2(int *)100; //建议要进行转换 }如何读空间变量int *a5)[5] 5个5个访问 相当于一个每行5个元素的二维数组char (*a[5])[4] 声明了一个包含 5 个指针的数组其中每个指针都指向一个由 4 个字符组成的一维数组。多维空间存储q设计一个指针可以存储二维或三维空间首地址函数地址函数名是这个空间地址的常亮值的代号int *funb内存分为代码段coderead 常量段rodataread数据段rw堆段 malloc and free栈区局部变量 OS运行内存从低位-高位堆由程序员决定存亡 其他取决与程序的开始和结束所以 char *sdsdfsd; 放在常亮段char s[]sdsdsdds放在栈区char *snew char[23]1145232 放在堆区static 字段的特点分析函数一般是常亮static 只读int fun() { static int a10; a; return a; }如果在main函数中调用多次a只会初始化一次每次调用函数时 a1空间权限访问需注意事项-读写权限ep char *p(char *)100;p[100000];//在c语言中语法是允许的同理p[-100000]也是允许的因为c语言没有越界检查int a0x12345678 char buf[4]; buf[5]0x99; //导致输出的内容为1234567899 12 34 56 78 buf【3】 buf 【2】 buf 【1】 buf 【0】