[c/c++]柔性数组

/ 4,360评论 / 22000阅读 / 0点赞

柔性数组

在C99标准之后,在结构体中最后一个元素允许是未知大小的,称之为柔性数组

struct CoolArr_s{
	int len;
	char arr[];
};
#include "stdio.h"
#include "stdlib.h"

struct CoolArr_s
{
        int len;
        char arr[];
};

int main()
{
        //这里给arr的长度为10个char的大小
        struct CoolArr_s* p = (struct CoolArr_s*)malloc(sizeof(int) + sizeof(char) * 10);
        for (int i = 10; i--;)
        {
                (p->arr)[i] = i + '0';
                printf("%d " ,(p->arr)[i]);
        }
        printf("\n CoolArr_s: %d, *p: %d\n", sizeof(struct CoolArr_s), sizeof(*p));
        return 0;
}

在C++中的柔性数组

注意:在c++中并不建议使用柔性数组,而应考虑使用array代替。即使它可以使用在struct和class中,但部分编译器是不支持这种操作的。

#include <iostream>
#include <array>
using namespace std;

int main()
{
        //数组长度
	const int len_arr = 10;
        //定义数组
	array<int, len_arr> arr;
        //array::data()返回数组的首地址
        //array::begin()返回的是迭代器iterator
	int *arr_p = arr.data();
	for (int i = len_arr; i--;)
	{
		arr_p[i] = i;
		cout << arr[i] << " ";
	}
	cout << endl;
	return 0;
}
  1. EddieBug说道:

    farmacia envГ­os internacionales kamagra gel farmacia envГ­os internacionales

  2. JasonDer说道:

    http://vardenafilo.icu/# farmacia online internacional

  3. RonnieLit说道:

    http://farmacia.best/# farmacias online seguras en españa

  4. EddieBug说道:

    farmacias baratas online envГ­o gratis cialis en Espana sin receta contrareembolso farmacia online 24 horas

  5. MarioRip说道:

    farmacia barata: Levitra 20 mg precio – farmacia online 24 horas

  6. RonnieLit说道:

    https://sildenafilo.store/# sildenafilo cinfa sin receta

  7. RonnieLit说道:

    http://tadalafilo.pro/# farmacia barata

  8. MarioRip说道:

    farmacias online seguras: se puede comprar kamagra en farmacias – farmacias online baratas

  9. vivoslot.com.co说道:

    I’m not sure exactly why but this site is loading very slow
    for me. Is anyone else having this issue or is it a problem
    on my end? I’ll check back later and see if the problem still exists.

  10. JasonDer说道:

    http://kamagraes.site/# farmacia online madrid

  11. RonnieLit说道:

    http://farmacia.best/# farmacias online seguras en españa

  12. JasonDer说道:

    http://vardenafilo.icu/# farmacias baratas online envГ­o gratis

  13. EddieBug说道:

    п»їfarmacia online kamagra oral jelly farmacia online 24 horas

  14. MarioRip说道:

    farmacia online madrid: Levitra Bayer – farmacia online envГ­o gratis

  15. EddieBug说道:

    farmacia online internacional Levitra sin receta farmacia barata

  16. SidneyFub说道:

    http://avanafilit.icu/# farmacia online piГ№ conveniente

  17. TracyFoome说道:

    viagra prezzo farmacia 2023: sildenafil prezzo – viagra online spedizione gratuita

  18. Sonnynap说道:

    п»їfarmacia online migliore: farmacia online piu conveniente – migliori farmacie online 2023

  19. SidneyFub说道:

    https://farmaciait.pro/# acquistare farmaci senza ricetta

  20. Terryflodo说道:

    farmacie online affidabili farmacia online farmacia online miglior prezzo

  21. TracyFoome说道:

    acquisto farmaci con ricetta: farmacia online spedizione gratuita – comprare farmaci online con ricetta

  22. Александр说道:

    WELCOME TO DUBAI STARS – YOUR PREMIER ESCORT COMPANIONS https://dubai-stars.com/

  23. TracyFoome说道:

    farmacie on line spedizione gratuita: kamagra – farmacia online migliore

  24. Sonnynap说道:

    comprare farmaci online con ricetta: kamagra gel prezzo – farmacie on line spedizione gratuita

  25. Terryflodo说道:

    viagra consegna in 24 ore pagamento alla consegna viagra generico viagra online in 2 giorni

  26. TracyFoome说道:

    farmacia online: farmacia online migliore – migliori farmacie online 2023

  27. TracyFoome说道:

    farmacia online senza ricetta: kamagra gel prezzo – migliori farmacie online 2023

  28. Terryflodo说道:

    farmacie online affidabili dove acquistare cialis online sicuro farmaci senza ricetta elenco

  29. SidneyFub说道:

    http://tadalafilit.store/# acquistare farmaci senza ricetta

  30. TracyFoome说道:

    viagra naturale in farmacia senza ricetta: viagra prezzo farmacia – viagra online spedizione gratuita

  31. Sonnynap说道:

    п»їfarmacia online migliore: dove acquistare cialis online sicuro – acquisto farmaci con ricetta

  32. SidneyFub说道:

    http://farmaciait.pro/# farmacie online autorizzate elenco

  33. TracyFoome说道:

    acquistare farmaci senza ricetta: farmacia online migliore – comprare farmaci online all’estero

  34. Terryflodo说道:

    п»їfarmacia online migliore avanafil spedra acquistare farmaci senza ricetta

  35. TracyFoome说道:

    acquistare farmaci senza ricetta: Tadalafil prezzo – comprare farmaci online con ricetta

  36. TracyFoome说道:

    farmacia online senza ricetta: kamagra – farmacia online migliore

  37. TracyFoome说道:

    comprare farmaci online con ricetta: cialis prezzo – comprare farmaci online con ricetta

  38. Terryflodo说道:

    farmacia online senza ricetta kamagra gel farmacie online affidabili

  39. SidneyFub说道:

    https://sildenafilit.bid/# esiste il viagra generico in farmacia

  40. TracyFoome说道:

    farmacie online affidabili: farmacia online migliore – acquisto farmaci con ricetta

  41. Terryflodo说道:

    comprare farmaci online all’estero avanafil spedra farmacia online

  42. Sonnynap说道:

    п»їfarmacia online migliore: acquistare farmaci senza ricetta – farmacie online affidabili

  43. SidneyFub说道:

    https://sildenafilit.bid/# viagra 100 mg prezzo in farmacia

  44. TracyFoome说道:

    acquistare farmaci senza ricetta: avanafil prezzo in farmacia – farmacie online sicure

  45. Sonnynap说道:

    farmacia online: kamagra gel prezzo – farmacia online miglior prezzo

  46. TracyFoome说道:

    farmacie online affidabili: farmacia online spedizione gratuita – comprare farmaci online con ricetta

  47. Terryflodo说道:

    viagra generico prezzo piГ№ basso viagra prezzo alternativa al viagra senza ricetta in farmacia

  48. TracyFoome说道:

    farmacia online: Tadalafil generico – top farmacia online

  49. Terryflodo说道:

    migliori farmacie online 2023 farmacia online miglior prezzo farmacia online miglior prezzo

  50. TracyFoome说道:

    viagra ordine telefonico: viagra prezzo farmacia – viagra online spedizione gratuita

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注