C语言宏定义里头的#的意思是将宏参数转换成字符串。上述的写法是无法编译通过的,正确的写法应该是#define JJJJJ(tag) jj(#tag)
请看下面的例子:
#define JJJJJ(tag) jj(#tag)
#include <iostream>
using namespace std;
void jj( const char str )
{
cout << str;
}
void main()
{
JJJJJ(OK);
}
C语言中的结构体
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
定义与声明
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。
结构体成员的引用
有两种方式,英文的句点 ,一个减号加一个大于号 ->。
当结构体是一个指针时要引用结构体的成员就用-> 而如果不是指针就用。
如:
struct msg_st {
int a;
};
struct msg_st msg;
struct msg_st ms;
msga = 10;
ms->a = 20;
#include<stdioh>
int main()
{
int i,a[10],tag;//数组的长度自己定
tag=0;
printf("please innput data\n");//输入数字
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
getchar();
} //逐个输入
for(i=0;i<10;i++)
{
if(a[i]==3)
{
tag++;
}
else continue;
}
printf("%d 3 have been found\n",tag);
}}
以上就是关于C语言宏定义里头#define JJJJJ(tag) jj(#_tag)是啥意思全部的内容,包括:C语言宏定义里头#define JJJJJ(tag) jj(#_tag)是啥意思、C语言指向结构体的指针、各位c语言大神求解啊!!如何检验一列数里是否含有数字3谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)