C语言宏定义里头#define JJJJJ(tag) jj(#_tag)是啥意思

C语言宏定义里头#define JJJJJ(tag) jj(#_tag)是啥意思,第1张

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谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9792791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存