㈠ c语言大括号的使用
你确定 if(y=10) 是属于第二个for循环的吗??显然不可能是,
因为第二个for循环中,y<=9,那么if(y==10)永远不可能成立了,写在那里有什么意义??
这是打印乘法口诀的吧??
#include <stdio.h>
int main(void)
{
int x,y;
for(x=1;x<=9;x++)
{
for(y=1;9>=y;y++)
{
if(y<x)
printf(" ");
else
printf("%4d",x*y);
}
printf("\n");
}
}
㈡ c语言 中花括号有哪些作用
这可能是用者在SDK下开发的,用于在sdk下面嵌入一个web浏览器
如果你了解一些COM知识,就想到你需要什么来使浏览器COM对象运行
你要提供四个对象给浏览器对象:IStorage,
IOleInPlaceFrame,
IOleClientSite,
和IOleInPlaceSite。这是四个结构,每个都有自己的VTable,这些结构和他们的VTable都在头文件中用C定义好了。他们每个都有自己的一系列成员函数。
IStorage对象,它定义了称为IStorageVtbl的Vtable结构。在这个VTable中一共有18个函数指针(也就是说IStorage本身就有18个特定的函数,这也是为什么大家更多的使用MFC,.NET,WTL以便来使工作更简单轻松)。当然前三个函数也必须为QueryInterface(),
AddRef(),和Release()。在CWebPage.c中我把这三个函数命名为Storage_QueryInterface(),
Storage_AddRef(),和Storage_Release(),后面的15个方程我都是用Storage_来开头的,它们是Storage_OpenStream(),
Storage_CopyTo()等等,IStorage的函数的作用是管理程序和磁盘的读写的,具体的作用和参数可以参考MSDN关于IStorage的文档。
也就是说在MSDN里面有关于对他们的注释,你没仔细看,我也懒的找!
创建IStorage的最简单的办法是把它声明为全局变量,并且用18个函数指针来初始化它,代码就是你那里面的第一个花括号,现在知道什么意思了没,就是定义指针!
现在就有了一个全局的初始化好了的IStorage的VTable----MyIStorageTable
下一步就是创建IStorage对象。最简单的还是把它声明为全局的变量并且初始化它,它只有一个VTable:
IStorage
MyIStorage
=
{
&MyIStorageTable
};
现在就有了IStorage的被初始化好了的全局对象MyIStorage。现在操作系统的函数随时可以调用这个对象并把它交给浏览器对象这样它就可以调用上面的18个函数了。
如果看不懂,就好好找找MSDN的注释
TO
楼主:
IStorage不是一个实际意义上的函数或者结构,虽然他被称之为结构,但是我的理解不是,它必须要有一定的
条件才能被称为结构,就是必须定义了一个有实际意义的指针或者用途,而IStorageVtbl正是用它包含的
函数定义完了的实际意义,MSDN上没注释,是因为它只有被定义过才会有实际用途,我也查过一遍,的确是没怎么介绍,我初步估计可能是用者自己的定义,只有定义成功以后才会有初始化完的VTable,这样才能继续创建对象,否则不是成了空锅里放了米想煮饭,岂不明白有米有锅也未必能煮成饭,必须要有一定的条件啊
㈢ C语言大括号有什么用
每个函数的开始,类的定义,结构的定义,枚举的定义,if,for,do,while,switch case等
它是程序块的分界符。
{与}是相对应的,必须同时存在。
㈣ C语言比较大括号有什么作用
在C中,使用大括号的方法无所谓对还是错——只要每个开括号后都有一个闭括号,你的程序中就不再会出现与大括号有关的问题。然而,有三种着名的大括号格式经常被使用:
Kernighan和Ritchie,Allman,Whitesmiths。下文中将讨论这三种格式。
在《C程序设计语言(The C Programming Language)》一书中,Brian Kernighan和Dennis Ritchie介绍了他们所使用的大括号格式,这种格式如下所示:
if (argc<3) {
printf (" Error! Not enough arguments. Correct usage is ..\n" ) ;
printf("c:>eopyfile <source_file> <destination_file>\n") ;
exit (1) ;
}
else {
open_files () ;
while (! feof(infile)) {
read_data ( ) ;
write_data() ;
}
close files() ;
}
注意,在Kb&R格式中,开括号总是与使用它的语句在同一行上,而闭括号总是在它所关闭的语句的下一行上,并且与该语句对齐。例如,在上例中,if语句的开括号和它在同一行上,|f语句的闭括号在它的下一行上,并且与它对齐。在与if语句对应的else条件语句以及出现在程序段后部的while语句中,情况也是这样的。
下面是用Allman格式书写的同一个例子:
if (argc<3)
{
printf("Error! Not enough arguments. Correct usage is :\n" ) ;
printf("C:>file <source_file> <destination_file>\n") ;
exit(1);
}
else
{
open_files ( );
while (! feof(infile))
{
read_data ( ) ;
write data();
}
close_files() ;
}
注意,在Allman格式中,每个大括号都单独成行,并且开括号和闭括号都与使用它们的语句对齐。
下面是用Whitesmiths格式书写的同一个例子:
if (argc<3)
{
printf("Error! Not enough arguments, Correct usage is :\n" );
printf ("C :> file<source_file><destination_file>\n." ) ;
exit(1);
}
else
{
open files () ;
while (! feof(infile))
{
read_data() ;
write data();
}
close files () ;
}
与Allman格式相同,Whitesmiths格式也要求大括号单独成行,但是它们要和它们所包含的语句对齐。例如,在上例中,if语句的开括号是与第一个printf()函数调用对齐的。
㈤ c语言中的 { } 大括号的使用,什么时候需要什么
大括号也称花括号是程序块的分界符,大括号起的作用主要就是划分区域用的。
没有规定for后面一定要加大括号,如果for循环里只有一个语句,如果有多个语句,就需要用一个大括号把他们包起来。
比如:if(a>b) println("a>b");与if(a>b) { println("a>b"); },其实效果是一样的但有的时候是必须用到大括号的。
比如:当if语句后有多条语句的话就需要大括号与别的语句继续区分。比如:if(a>b){ max=a; println("max=%d",c);}。
(5)大括号的作用c语言扩展阅读
大括号号使用注意事项:
在Kb&R格式中,开括号总是与使用它的语句在同一行上,而闭括号总是在它所关闭的语句的下一行上,并且与该语句对齐。例如,在上例中,if语句的开括号和它在同一行上,|f语句的闭括号在它的下一行上,并且与它对齐。
在与if语句对应的else条件语句以及出现在程序段后部的while语句中,情况也是这样的。在Allman格式中,每个大括号都单独成行,并且开括号和闭括号都与使用它们的语句对齐。与Allman格式相同,Whitesmiths格式也要求大括号单独成行,但是它们要和它们所包含的语句对齐。
例如,在if语句的开括号是与第一个printf()函数调用对齐的。不管使用哪一种格式,一定要保持前后一致——这将有助于其它人更方便地读程序。