㈠ 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()函數調用對齊的。不管使用哪一種格式,一定要保持前後一致——這將有助於其它人更方便地讀程序。