宏定义函数
#include<stdio.h>
#define OUT printf("helloworld\n")
#define P(s) printf("%s\n",s)
#define SQR(x) x*x //宏函数只是简单替换,注意优先级
/*
宏函数的优点:
1节省空间(不需要给形参分配空间)
2执行效率高(不需要根据地址找到函数的入口)
宏函数的缺点:
1编译效率低(第一步预处理需要替换)
2不安全,只是简单替换,没有语法检查
*/
int main()
{
int a=1,b=2;
OUT;
P("12345");
printf("%d\n",SQR(a+b));
return 0;
}
运行
[root@localhost 28]# ./7-宏函数
helloworld
12345
5
指针
#include<stdio.h>
int main()
{
printf("%d\n",sizeof(int *));
printf("%d\n",sizeof(char *));
printf("%d\n",sizeof(double *));//所有指针类型都占4个字节
int a=1;
int *p=&a;//指针p指向a
*p=100;//a=100,*取值
printf("a=%d\n",a);