Knowledge (XXG)

stdarg.h

Source 📝

2211: 25: 728:
Some C implementations provide C extensions that allow the compiler to check for the proper use of format strings and sentinels. Barring these extensions, the compiler usually cannot check whether the unnamed arguments passed are of the type the function expects, or convert them to the required
675:), there is no portable way to pass the dynamically determined number of arguments into the inner variadic call, as the number and size of arguments passed into such calls must generally be known at compile time. To some extent, this restriction can be relaxed by employing 670:
inside the receiving function), there is also no reliable, generic way to forward the unnamed arguments into another variadic function. Even where determining the size of the argument list is possible by indirect means (for example, by parsing the format string of
711:
and pass it to an appropriate standard library function, in effect passing the unnamed argument list by reference instead of doing it by value. Because there is no reliable way to pass unnamed argument lists by value in C, providing variadic
630:
There is no defined method for counting or classifying the unnamed arguments passed to the function. The function is simply required to know or determine this somehow, the means of which vary. Common conventions include:
666:
Because the size of the unnamed argument list is generally unknown (the calling conventions employed by most compilers do not permit determining the size of the unnamed argument block pointed at by
581:, the second is the name of the last named parameter of the function. In C23 the second argument will be optional and will not be evaluated. After this, each invocation of the 1738: 1630:
requires old-style function definitions because of the way the implementation works. Conversely, it is not possible to mix old-style function definitions with
1264:
To call other var args functions from within your function (such as sprintf) you need to use the var arg version of the function (vsprintf in this example):
203: 1731: 35: 2237: 339:, such a declaration is permitted.) In C, a comma must precede the ellipsis if a named parameter is specified; in C++, it is optional. 2051: 2215: 713: 196: 2032: 1941: 1724: 2150: 907: 2122: 2170: 2180: 2165: 1871: 189: 115: 2127: 1856: 85: 2175: 1881: 1778: 1773: 1768: 1415: 336: 105: 2155: 1866: 1814: 1747: 226: 110: 95: 2018: 1993: 780: 2036: 1978: 703:
instead of the actual unnamed argument list. A user-defined variadic function can therefore initialize a
233:. It provides facilities for stepping through a list of function arguments of unknown number and type. 1651: 1998: 130: 1414:. This header is part of neither ISO C nor POSIX. The file, as defined in the second version of the 810:
style arguments which should be type-checked against a format string. For example, the declaration:
2013: 2008: 1970: 1861: 1696: 100: 2079: 1844: 730: 266: 222: 65: 1912: 1907: 1876: 1819: 1809: 249: 230: 125: 120: 90: 492: 543: 455: 525: 510: 2023: 1983: 1891: 754: 464: 1679: 1410:, which dates from before the standardization of C and provides functionality similar to 2041: 2196: 2003: 1929: 1829: 676: 651: 679:
instead of variadic functions. Additionally, most standard library procedures provide
2231: 2099: 2089: 2028: 593:
and the second is the type of the next argument passed to the function. Finally, the
269:
are functions which may take a variable number of arguments and are declared with an
2069: 1834: 80: 729:
type. Therefore, care should be taken to ensure correctness in this regard, since
577:
is then called with two arguments: the first is the variable declared of the type
2160: 601:
before the function returns. (It is not required to read in all the arguments.)
1804: 1783: 908:"5.27 Extensions to the C Language Family - Declaring Attributes of Functions" 777:. The function receiving the unnamed arguments must expect the promoted type. 1429:
the given argument may be omitted (standard C requires at least one argument)
753:, neither of which is correct. Another consideration is the default argument 316:
Variadic functions must have at least one named parameter, so, for instance,
647:-like format string with embedded specifiers that indicate argument types. 2104: 2094: 2074: 1919: 1824: 1716: 270: 166: 148: 733:
results if the types do not match. For example, if the expected type is
1788: 1680:"WG14-N2975 : Relax requirements for variadic parameter lists, v3" 254: 157: 2059: 1956: 1951: 1758: 637: 569:
To access the unnamed arguments, one must declare a variable of type
275: 1454:/* There is no "void" type; use an implicit int return. */ 691:
variable) instead of the unnamed argument list itself. For example,
2145: 234: 2084: 2064: 1988: 1936: 1924: 1403: 941:/* print all args one at a time until a negative argument is seen; 643: 273:
in place of the last parameter. An example of such a function is
1946: 716:
functions without also providing equivalent functions accepting
1720: 1763: 604: 556: 432:
An ellipsis may not appear in old-style function definitions.
18: 657:
A count argument indicating the number of variadic arguments.
252:, though they may be used in other functions (for example, 889:
causes the compiler to check the arguments in calls to
42: 585:
macro yields the next argument. The first argument to
1426:
it cannot be used in standard C new-style definitions
794:
The format attribute specifies that a function takes
2189: 2136: 2113: 2050: 1969: 1900: 1843: 1797: 1434: 783:has an extension that checks the passed arguments: 1418:, simply contains all of the functionality of C89 720:instead is considered a bad programming practice. 687:to the unnamed argument list (i.e. an initialized 765:. Likewise, arguments of types narrower than an 1678:Gilding, Alex; Meneide, JeanHeyd (2022-04-15). 789:format(archetype, string-index, first-to-check) 785: 335:is not allowed in C17 and earlier. (In C++ and 683:-prefixed alternative versions which accept a 1732: 197: 8: 745:would result in an argument of type either 1849: 1739: 1725: 1717: 737:, then a null pointer should be passed as 237:provides this functionality in the header 204: 190: 61: 944:all args are assumed to be of int type */ 347:The same syntax is used in a definition: 662:Passing unnamed arguments to other calls 476: 439: 1673: 1671: 1643: 138: 72: 64: 1433:The interface is also different. For 654:at the end of the variadic arguments. 611:, which can duplicate the state of a 7: 761:will automatically be promoted to a 757:applied to the unnamed arguments. A 573:in the variadic function. The macro 1437:example, one would instead write: 14: 498:Start iterating arguments with a 231:an indefinite number of arguments 45:and remove advice or instruction. 2210: 2209: 1514:/* only the va_list is given! */ 1258:This program yields the output: 258:) called by variadic functions. 229:that allows functions to accept 23: 607:provides an additional macro, 1: 897:style format string argument 1624:and is called the same way. 1422:, with the exceptions that: 597:macro must be called on the 461:type for iterating arguments 262:Declaring variadic functions 1697:"Single UNIX Specification 695:is an alternate version of 343:Defining variadic functions 279:. A typical declaration is 2254: 2238:C standard library headers 2123:Compatibility of C and C++ 1406:defined the legacy header 16:Header file for C programs 2205: 1852: 1754: 1416:Single UNIX Specification 893:for consistency with the 1478:/* no semicolon here! */ 1439: 1266: 1261:5 2 14 84 97 15 84 51 1 926: 812: 349: 318: 281: 86:Character classification 615:. The macro invocation 565:Accessing the arguments 2128:Comparison with Pascal 1748:C programming language 920: 248:are typically used in 227:C programming language 1402:Outdated versions of 549:Copy contents of one 139:Miscellaneous headers 769:will be promoted to 516:Retrieve an argument 43:rewrite this article 221:is a header in the 731:undefined behavior 267:Variadic functions 250:variadic functions 223:C standard library 131:Alternative tokens 66:C standard library 2225: 2224: 1965: 1964: 1652:"IEEE Std 1003.1 1451:<varargs.h> 617:va_copy(va2, va1) 562: 561: 470: 469: 214: 213: 116:Memory allocation 101:File input/output 60: 59: 36:a manual or guide 2245: 2213: 2212: 1850: 1845:Standard library 1741: 1734: 1727: 1718: 1711: 1710: 1708: 1707: 1700: 1693: 1687: 1686: 1684: 1675: 1666: 1665: 1663: 1662: 1655: 1648: 1633: 1629: 1620: 1617: 1614: 1611: 1608: 1605: 1602: 1599: 1596: 1593: 1590: 1587: 1584: 1581: 1578: 1575: 1572: 1569: 1566: 1563: 1560: 1557: 1554: 1551: 1548: 1545: 1542: 1539: 1536: 1533: 1530: 1527: 1524: 1521: 1518: 1515: 1512: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1488: 1485: 1482: 1479: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1449: 1446: 1443: 1436: 1421: 1413: 1409: 1393: 1390: 1387: 1384: 1381: 1380:FlushFunnyStream 1378: 1375: 1372: 1369: 1366: 1363: 1360: 1357: 1354: 1351: 1348: 1345: 1342: 1339: 1336: 1333: 1330: 1327: 1324: 1321: 1318: 1315: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1288: 1285: 1282: 1279: 1276: 1273: 1270: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1212: 1209: 1206: 1203: 1200: 1197: 1194: 1191: 1188: 1185: 1182: 1179: 1176: 1173: 1170: 1167: 1164: 1161: 1158: 1155: 1152: 1149: 1146: 1143: 1140: 1137: 1134: 1131: 1128: 1125: 1122: 1119: 1116: 1113: 1110: 1107: 1104: 1101: 1098: 1095: 1092: 1089: 1086: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1044: 1041: 1038: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 996: 993: 990: 987: 984: 981: 978: 975: 972: 969: 966: 963: 960: 957: 954: 951: 948: 945: 942: 939: 938:<stdarg.h> 936: 933: 930: 918: 917: 915: 914: 900: 896: 892: 885: 882: 879: 876: 873: 870: 867: 864: 861: 858: 855: 852: 849: 846: 843: 840: 837: 834: 831: 828: 825: 822: 819: 816: 809: 805: 801: 797: 790: 776: 772: 768: 764: 760: 752: 748: 744: 740: 736: 719: 710: 706: 702: 698: 694: 690: 682: 674: 669: 646: 640: 626: 622: 618: 614: 610: 600: 596: 592: 588: 584: 580: 576: 572: 552: 546: 534: 528: 513: 501: 495: 477: 458: 440: 428: 425: 422: 419: 416: 413: 410: 407: 404: 401: 398: 395: 392: 389: 386: 383: 380: 377: 374: 371: 368: 365: 362: 359: 356: 353: 331: 328: 325: 322: 312: 309: 306: 303: 300: 297: 294: 291: 288: 285: 278: 257: 247: 244:The contents of 240: 219: 206: 199: 192: 179: 170: 161: 152: 62: 55: 52: 46: 34:is written like 27: 26: 19: 2253: 2252: 2248: 2247: 2246: 2244: 2243: 2242: 2228: 2227: 2226: 2221: 2201: 2185: 2138: 2132: 2116:other languages 2115: 2114:Comparison with 2109: 2046: 1984:Borland Turbo C 1961: 1901:Implementations 1896: 1839: 1793: 1750: 1745: 1715: 1714: 1705: 1703: 1698: 1695: 1694: 1690: 1682: 1677: 1676: 1669: 1660: 1658: 1653: 1650: 1649: 1645: 1640: 1631: 1627: 1622: 1621: 1618: 1615: 1612: 1609: 1606: 1603: 1600: 1597: 1594: 1591: 1588: 1585: 1582: 1579: 1577:"%d " 1576: 1573: 1570: 1567: 1564: 1561: 1558: 1555: 1552: 1549: 1546: 1543: 1540: 1537: 1534: 1531: 1528: 1525: 1522: 1519: 1516: 1513: 1510: 1507: 1504: 1501: 1498: 1495: 1492: 1489: 1486: 1483: 1480: 1477: 1474: 1471: 1468: 1465: 1462: 1459: 1456: 1453: 1450: 1447: 1445:<stdio.h> 1444: 1441: 1419: 1411: 1407: 1400: 1395: 1394: 1391: 1388: 1385: 1382: 1379: 1376: 1373: 1370: 1367: 1364: 1361: 1358: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1334: 1331: 1328: 1325: 1322: 1319: 1316: 1313: 1310: 1307: 1304: 1301: 1298: 1295: 1292: 1289: 1286: 1283: 1280: 1277: 1274: 1271: 1268: 1262: 1256: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1231: 1228: 1225: 1222: 1219: 1216: 1213: 1210: 1207: 1204: 1201: 1198: 1195: 1192: 1189: 1186: 1183: 1180: 1177: 1174: 1171: 1168: 1165: 1162: 1159: 1156: 1153: 1150: 1147: 1144: 1141: 1138: 1135: 1132: 1129: 1126: 1123: 1120: 1117: 1114: 1111: 1108: 1105: 1102: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1067:"%d " 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 970: 967: 964: 961: 958: 955: 952: 949: 946: 943: 940: 937: 934: 932:<stdio.h> 931: 928: 925: 919: 912: 910: 906: 905: 898: 894: 890: 887: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 832: 829: 826: 823: 820: 817: 814: 807: 803: 799: 795: 788: 774: 770: 766: 762: 758: 750: 746: 742: 741:. Writing just 738: 734: 726: 717: 708: 707:variable using 704: 700: 696: 692: 688: 680: 677:variadic macros 672: 667: 664: 642: 636: 624: 620: 616: 612: 608: 598: 594: 590: 586: 582: 578: 574: 570: 567: 550: 542: 532: 524: 509: 499: 491: 475: 473:stdarg.h macros 454: 438: 430: 429: 426: 423: 420: 417: 414: 411: 408: 405: 402: 399: 396: 393: 390: 387: 384: 381: 378: 375: 372: 369: 366: 363: 360: 357: 354: 351: 345: 333: 332: 329: 326: 323: 320: 314: 313: 310: 307: 304: 301: 298: 295: 292: 289: 286: 283: 274: 264: 253: 245: 238: 217: 210: 173: 164: 155: 146: 121:Process control 56: 50: 47: 40: 28: 24: 17: 12: 11: 5: 2251: 2249: 2241: 2240: 2230: 2229: 2223: 2222: 2220: 2219: 2206: 2203: 2202: 2200: 2199: 2197:Dennis Ritchie 2193: 2191: 2187: 2186: 2184: 2183: 2178: 2173: 2168: 2163: 2158: 2153: 2148: 2142: 2140: 2134: 2133: 2131: 2130: 2125: 2119: 2117: 2111: 2110: 2108: 2107: 2102: 2097: 2092: 2087: 2082: 2077: 2072: 2067: 2062: 2056: 2054: 2048: 2047: 2045: 2044: 2039: 2026: 2021: 2016: 2011: 2006: 2001: 1996: 1991: 1986: 1981: 1975: 1973: 1967: 1966: 1963: 1962: 1960: 1959: 1954: 1949: 1944: 1939: 1934: 1933: 1932: 1922: 1917: 1916: 1915: 1904: 1902: 1898: 1897: 1895: 1894: 1889: 1884: 1879: 1874: 1872:Dynamic memory 1869: 1864: 1859: 1853: 1847: 1841: 1840: 1838: 1837: 1832: 1827: 1822: 1817: 1812: 1807: 1801: 1799: 1795: 1794: 1792: 1791: 1786: 1781: 1776: 1771: 1766: 1761: 1755: 1752: 1751: 1746: 1744: 1743: 1736: 1729: 1721: 1713: 1712: 1688: 1667: 1642: 1641: 1639: 1636: 1440: 1431: 1430: 1427: 1399: 1396: 1267: 1260: 927: 924: 921: 903: 813: 725: 722: 663: 660: 659: 658: 655: 652:sentinel value 648: 566: 563: 560: 559: 554: 547: 539: 538: 535: 529: 521: 520: 517: 514: 506: 505: 502: 496: 488: 487: 486:compatibility 484: 481: 474: 471: 468: 467: 462: 459: 451: 450: 449:Compatibility 447: 444: 437: 436:stdarg.h types 434: 350: 344: 341: 319: 282: 263: 260: 212: 211: 209: 208: 201: 194: 186: 183: 182: 181: 180: 171: 162: 153: 141: 140: 136: 135: 134: 133: 128: 123: 118: 113: 108: 103: 98: 93: 88: 83: 75: 74: 73:General topics 70: 69: 58: 57: 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 2250: 2239: 2236: 2235: 2233: 2218: 2217: 2208: 2207: 2204: 2198: 2195: 2194: 2192: 2188: 2182: 2179: 2177: 2174: 2172: 2169: 2167: 2164: 2162: 2159: 2157: 2154: 2152: 2149: 2147: 2144: 2143: 2141: 2135: 2129: 2126: 2124: 2121: 2120: 2118: 2112: 2106: 2103: 2101: 2100:Visual Studio 2098: 2096: 2093: 2091: 2090:GNOME Builder 2088: 2086: 2083: 2081: 2078: 2076: 2073: 2071: 2068: 2066: 2063: 2061: 2058: 2057: 2055: 2053: 2049: 2043: 2040: 2038: 2034: 2030: 2029:Visual Studio 2027: 2025: 2022: 2020: 2017: 2015: 2012: 2010: 2007: 2005: 2002: 2000: 1997: 1995: 1992: 1990: 1987: 1985: 1982: 1980: 1977: 1976: 1974: 1972: 1968: 1958: 1955: 1953: 1950: 1948: 1945: 1943: 1940: 1938: 1935: 1931: 1928: 1927: 1926: 1923: 1921: 1918: 1914: 1911: 1910: 1909: 1906: 1905: 1903: 1899: 1893: 1890: 1888: 1885: 1883: 1880: 1878: 1875: 1873: 1870: 1868: 1865: 1863: 1860: 1858: 1855: 1854: 1851: 1848: 1846: 1842: 1836: 1833: 1831: 1828: 1826: 1823: 1821: 1818: 1816: 1813: 1811: 1808: 1806: 1803: 1802: 1800: 1796: 1790: 1787: 1785: 1782: 1780: 1777: 1775: 1772: 1770: 1767: 1765: 1762: 1760: 1757: 1756: 1753: 1749: 1742: 1737: 1735: 1730: 1728: 1723: 1722: 1719: 1702: 1692: 1689: 1681: 1674: 1672: 1668: 1657: 1647: 1644: 1637: 1635: 1625: 1438: 1428: 1425: 1424: 1423: 1417: 1405: 1397: 1265: 1259: 922: 909: 902: 857:__attribute__ 811: 792: 791: 784: 782: 778: 756: 732: 723: 721: 715: 686: 678: 661: 656: 653: 649: 645: 639: 634: 633: 632: 628: 606: 602: 564: 558: 555: 548: 545: 541: 540: 536: 530: 527: 523: 522: 518: 515: 512: 508: 507: 503: 497: 494: 490: 489: 485: 482: 479: 478: 472: 466: 463: 460: 457: 453: 452: 448: 445: 442: 441: 435: 433: 348: 342: 340: 338: 317: 280: 277: 272: 268: 261: 259: 256: 251: 242: 236: 232: 228: 224: 220: 207: 202: 200: 195: 193: 188: 187: 185: 184: 177: 172: 168: 163: 159: 154: 150: 145: 144: 143: 142: 137: 132: 129: 127: 124: 122: 119: 117: 114: 112: 109: 107: 104: 102: 99: 97: 94: 92: 89: 87: 84: 82: 79: 78: 77: 76: 71: 67: 63: 54: 44: 39: 37: 32:This article 30: 21: 20: 2214: 2070:Code::Blocks 2042:Watcom C/C++ 1886: 1830:Preprocessor 1810:Header files 1704:. Retrieved 1691: 1659:. Retrieved 1646: 1626: 1623: 1607:'\n' 1432: 1401: 1263: 1257: 1097:'\n' 911:. Retrieved 888: 793: 787: 786: 779: 775:unsigned int 727: 699:expecting a 684: 665: 629: 603: 568: 431: 346: 334: 315: 265: 243: 216: 215: 175: 111:Localization 51:October 2013 48: 41:Please help 33: 2161:Objective-C 1942:Windows CRT 739:(int *)NULL 724:Type safety 483:Description 446:Description 96:Mathematics 2137:Descendant 2009:Norcroft C 1835:Data types 1784:Embedded C 1706:2007-08-01 1661:2009-07-04 1638:References 913:2009-01-03 755:promotions 693:vfprintf() 553:to another 81:Data types 2139:languages 1971:Compilers 1913:libhybris 1815:Operators 1805:Functions 1699:varargs.h 1628:varargs.h 1457:printargs 1435:printargs 1408:varargs.h 1398:varargs.h 1335:vsnprintf 1226:printargs 1214:printargs 1184:printargs 1124:printargs 950:printargs 899:my_format 891:my_printf 848:my_format 833:my_object 821:my_printf 697:fprintf() 685:reference 673:fprintf() 635:Use of a 424:/* ... */ 106:Date/time 2232:Category 2216:Category 2190:Designer 2105:NetBeans 2095:KDevelop 2075:CodeLite 1920:dietlibc 1887:Variadic 1862:File I/O 1798:Features 1654:stdarg.h 1632:stdarg.h 1502:va_start 1469:va_alist 1448:#include 1442:#include 1420:stdarg.h 1412:stdarg.h 1317:va_start 1272:MyPrintf 989:va_start 935:#include 929:#include 904:—  804:strftime 709:va_start 575:va_start 493:va_start 271:ellipsis 246:stdarg.h 218:stdarg.h 176:stdarg.h 167:setjmp.h 149:assert.h 2080:Eclipse 2033:Express 1789:MISRA C 1601:putchar 1484:va_list 1299:va_list 1091:putchar 971:va_list 923:Example 808:strfmon 718:va_list 705:va_list 701:va_list 689:va_list 668:va_list 619:copies 613:va_list 609:va_copy 599:va_list 591:va_list 589:is the 579:va_list 571:va_list 551:va_list 544:va_copy 533:va_list 531:Free a 500:va_list 456:va_list 255:vprintf 239:cstdarg 225:of the 158:errno.h 126:Signals 91:Strings 2060:Anjuta 1957:uClibc 1952:Newlib 1930:EGLIBC 1908:Bionic 1877:String 1825:Syntax 1820:String 1759:ANSI C 1613:return 1589:va_end 1571:printf 1553:va_arg 1475:va_dcl 1386:buffer 1368:va_end 1356:format 1350:buffer 1347:sizeof 1341:buffer 1329:format 1311:buffer 1287:format 1244:return 1079:va_end 1061:printf 1043:va_arg 895:printf 869:printf 863:format 815:extern 796:printf 763:double 751:void * 638:printf 595:va_end 587:va_arg 583:va_arg 526:va_end 511:va_arg 400:double 367:double 330:(...); 302:double 276:printf 68:(libc) 2171:Limbo 2085:Geany 2065:CLion 1989:Clang 1937:klibc 1925:glibc 1892:POSIX 1683:(PDF) 1538:>= 1404:POSIX 1278:const 1028:>= 839:const 800:scanf 759:float 735:int * 644:scanf 623:into 379:...); 327:wrong 311:...); 287:check 2181:Vala 2166:Alef 2052:IDEs 2019:SDCC 1947:musl 1882:Time 1867:Math 1857:Char 1529:arg1 1463:arg1 1374:args 1362:args 1323:args 1308:char 1302:args 1293:...) 1281:char 1269:void 1115:void 1109:main 1019:arg1 1001:arg1 965:...) 959:arg1 947:void 884:))); 854:...) 842:char 827:void 743:NULL 537:C89 519:C89 504:C89 480:Name 443:Name 418:...) 391:char 385:func 382:long 361:char 355:func 352:long 321:char 178:> 174:< 169:> 165:< 160:> 156:< 151:> 147:< 2146:C++ 2037:C++ 2024:TCC 2014:PCC 2004:LCC 1999:ICC 1994:GCC 1979:ACK 1779:C23 1774:C17 1769:C11 1764:C99 1565:int 1517:for 1493:int 1106:int 1055:int 1007:for 980:int 956:int 818:int 806:or 781:GCC 773:or 771:int 767:int 749:or 747:int 714:API 641:or 625:va2 621:va1 605:C99 557:C99 465:C89 409:int 373:int 337:C23 293:int 284:int 235:C++ 2234:: 2176:Go 2151:C# 2035:, 2031:, 1670:^ 1634:. 1610:); 1598:); 1595:ap 1586:); 1568:)) 1559:ap 1511:); 1508:ap 1487:ap 1389:); 1377:); 1365:); 1332:); 1241:); 1238:-1 1223:); 1220:-1 1211:); 1202:-1 1196:51 1190:84 1181:); 1178:-1 1172:48 1166:-1 1160:15 1154:97 1148:84 1142:14 1100:); 1088:); 1085:ap 1076:); 1058:)) 1049:ap 1004:); 995:ap 974:ap 860:(( 802:, 798:, 650:A 627:. 241:. 2156:D 1740:e 1733:t 1726:v 1709:. 1701:" 1685:. 1664:. 1656:" 1619:} 1616:; 1604:( 1592:( 1583:i 1580:, 1574:( 1562:, 1556:( 1550:= 1547:i 1544:; 1541:0 1535:i 1532:; 1526:= 1523:i 1520:( 1505:( 1499:; 1496:i 1490:; 1481:{ 1472:) 1466:, 1460:( 1392:} 1383:( 1371:( 1359:, 1353:, 1344:, 1338:( 1326:, 1320:( 1314:; 1305:; 1296:{ 1290:, 1284:* 1275:( 1253:} 1250:; 1247:0 1235:, 1232:1 1229:( 1217:( 1208:3 1205:, 1199:, 1193:, 1187:( 1175:, 1169:, 1163:, 1157:, 1151:, 1145:, 1139:, 1136:2 1133:, 1130:5 1127:( 1121:{ 1118:) 1112:( 1103:} 1094:( 1082:( 1073:i 1070:, 1064:( 1052:, 1046:( 1040:= 1037:i 1034:; 1031:0 1025:i 1022:; 1016:= 1013:i 1010:( 998:, 992:( 986:; 983:i 977:; 968:{ 962:, 953:( 916:. 901:. 881:3 878:, 875:2 872:, 866:( 851:, 845:* 836:, 830:* 824:( 681:v 427:} 421:{ 415:, 412:c 406:, 403:b 397:, 394:a 388:( 376:, 370:, 364:, 358:( 324:* 308:, 305:b 299:, 296:a 290:( 205:e 198:t 191:v 53:) 49:( 38:.

Index

a manual or guide
rewrite this article
C standard library
Data types
Character classification
Strings
Mathematics
File input/output
Date/time
Localization
Memory allocation
Process control
Signals
Alternative tokens
assert.h
errno.h
setjmp.h
stdarg.h
v
t
e
C standard library
C programming language
an indefinite number of arguments
C++
variadic functions
vprintf
Variadic functions
ellipsis
printf

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.