作者cjchen (cjchen)
看板C_and_CPP
标题[问题] 一个看不懂的struct语法
时间Tue Jul 28 20:25:13 2009
我刚刚在查 CreateProcess() 用法,看到如下范例:
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
Tchar szCommandLine[] = TEXT("NOTEPAD");
CreateProcess(TEXT("C:\\WINNT\\SYSTEM32\\NOTEPAD.EXE"),
szCommandLine, NULL, NULL, false, 0, NULL, NULL, &si,
&pi);
我看不懂第一行的语法,这算是建立一个名为 si 的 STARTUPINFO 实体後的
initialization 语法吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 121.6.44.235
1F:推 QQ29:是initilize的语法没错阿 07/28 20:39
2F:推 aecho:@@ 还可以这样写喔… 07/28 21:26
3F:→ cjchen:还是不太懂,struct有这麽多field,如何靠一个size_t值初始化 07/28 21:28
4F:推 tomnelson:你去看STARTUPINFO这个struct的定义, 其实它这第一行的 07/28 21:50
5F:→ tomnelson:写法只是去initialize第一个struct member "cb"而已! 07/28 21:51
6F:→ tomnelson:该member的内容定义就是该struct的大小, 这样了解了吧!? 07/28 21:52
7F:推 aecho:那个语法还会顺手把後面的内容设成 0 07/29 09:51
8F:→ aecho:所以这样写还蛮有趣的…只是第一个member不是指定size的话… 07/29 09:52