void fun2(char *pa) { printf("%x %x %x %x\n", pa, &pa, &(pa[0]), &(pa[1])); printf("%x %x %x %x\n", pa, &pa, &(pa[0]), ++pa); printf("%x", pa); } char ga[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g'}; int main() { printf("%x %x %x %x\n", ga, &ga, &(ga[0]), &(ga[1])); fun2(ga); return 0; } ----------------------------------------- 上面代码中,fun2 中第一...
转本贴请把 win_hate 的名字写上。 略谈 c 语言中指针与数组的区别 数组与指针是两个不同的概念,即使是从编译的层面上来看。不过,在很多时候,两者的用法极为相似。本文将讨论两者的区别。 一、理论分析 编译器在处理指针与数组的时候,是区别对待的。 对于指针 [code]int *p;[/code] p 是一个变量,所以编译器要为之分配一个空间。 [code].comm p, 4[/code] 对于数组: [code]int a[10][/code] a 是一个地址,编译器会为...
exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。exit函数运行 时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关闭通过标准I/O函数 tmpfile()创建的临时文件。exit是结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程,而return是返回函数值并退出 函数return是语言级别的,它表示了调...
本人想在c/c++中使用python来扩展,以前经常使用shell,使用system("python ./file")可以实现功能,但通常的使用python扩展c使用python的c api,不知到两者之间什么区别和优劣?
#include
在LINUX下网络通信方面的程序,用C++开发和用C语言开发,有什么不同呢, 我知道大部分人都用C语言,是不是C++不是十分适合在LINUX下做呢, 还有,如果我想用STL库,是不是只是在编译的时候慢了点,而在运行的时候就没有什么区别了呢。 我感觉很少有人在LINUX用C++基于STL开发的,是吗?? 望指点!
C语言程序编译的内存分配: 1.栈区(stack) --编译器自动分配释放,主要存放函数的参数值,局部变量值等; 2.堆区(heap) --由程序员分配释放; 3.全局区或静态区 --存放全局变量和静态变量;程序结束时由系统释放,分为全局初始化区和全局未初始化区; 4.字符常量区 --常量字符串放与此,程序结束时由系统释放; 5.程序代码区 例: //main.c int a=0; //全局初始化区 char *p1; //全局未初始化区 void ma...