[c/c++]柔性数组

/ 26,316评论 / 108476阅读 / 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 online cialis 20 mg precio farmacia farmacia barata

  2. MarioRip说道:

    farmacias baratas online envГ­o gratis: farmacia online barata y fiable – farmacias baratas online envГ­o gratis

  3. JasonDer说道:

    http://vardenafilo.icu/# farmacias online seguras

  4. JasonDer说道:

    https://sildenafilo.store/# comprar viagra en espaГ±a envio urgente contrareembolso

  5. RonnieLit说道:

    https://farmacia.best/# farmacia envíos internacionales

  6. MarioRip说道:

    farmacia online 24 horas: farmacia online envio gratis valencia – farmacia online 24 horas

  7. RonnieLit说道:

    http://vardenafilo.icu/# farmacia online 24 horas

  8. EddieBug说道:

    farmacia online barata farmacia online envio gratis valencia farmacia online barata

  9. RonnieLit说道:

    https://vardenafilo.icu/# farmacia online envío gratis

  10. Theboysword8说道:

    Слово пацна 8 серия Слово пацна 8 серия просмотр Слово пацна 8 серия

  11. MarioRip说道:

    farmacia online envГ­o gratis: comprar cialis online seguro – farmacias online seguras

  12. EddieBug说道:

    farmacia online envГ­o gratis farmacia envio gratis farmacia online madrid

  13. JasonDer说道:

    https://kamagraes.site/# farmacias baratas online envГ­o gratis

  14. Theboysword说道:

    Слово пацна 2 сезон Слово пацна 2 сезон 1 серия онлайн Слово пацна 2 сезон

  15. JasonDer说道:

    http://farmacia.best/# farmacia online barata

  16. MarioRip说道:

    farmacia online internacional: farmacia online envio gratis murcia – farmacia online madrid

  17. RonnieLit说道:

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

  18. MarioRip说道:

    farmacia online envГ­o gratis: comprar kamagra – farmacias online seguras en espaГ±a

  19. RonnieLit说道:

    https://tadalafilo.pro/# farmacia online internacional

  20. EddieBug说道:

    farmacia online 24 horas cialis 20 mg precio farmacia farmacia online madrid

  21. RonnieLit说道:

    http://tadalafilo.pro/# farmacia online madrid

  22. JasonDer说道:

    http://tadalafilo.pro/# п»їfarmacia online

  23. MarioRip说道:

    farmacia online envГ­o gratis: cialis en Espana sin receta contrareembolso – farmacias baratas online envГ­o gratis

  24. EddieBug说道:

    farmacia online madrid comprar cialis online seguro opiniones farmacia online 24 horas

  25. RonnieLit说道:

    http://farmacia.best/# farmacias online baratas

  26. JasonDer说道:

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

  27. RonnieLit说道:

    https://tadalafilo.pro/# farmacia barata

  28. MarioRip说道:

    farmacia online barata: comprar kamagra en espana – farmacias online seguras en espaГ±a

  29. RonnieLit说道:

    http://kamagraes.site/# farmacia online 24 horas

  30. RonnieLit说道:

    https://kamagraes.site/# farmacia barata

  31. EddieBug说道:

    farmacias online baratas comprar kamagra farmacias online baratas

  32. MarioRip说道:

    farmacia barata: kamagra jelly – farmacia online barata

  33. RonnieLit说道:

    http://kamagraes.site/# farmacia online envío gratis

  34. JasonDer说道:

    http://kamagraes.site/# farmacias online seguras

  35. JasonDer说道:

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

  36. EddieBug说道:

    farmacia online 24 horas kamagra 100mg farmacias online baratas

  37. MarioRip说道:

    farmacia envГ­os internacionales: kamagra jelly – farmacias online baratas

  38. MarioRip说道:

    sildenafilo 100mg precio espaГ±a: sildenafilo cinfa 25 mg precio – sildenafilo 50 mg comprar online

  39. EddieBug说道:

    sildenafilo cinfa 25 mg precio comprar viagra contrareembolso 48 horas venta de viagra a domicilio

  40. JasonDer说道:

    https://farmacia.best/# farmacia barata

  41. JasonDer说道:

    https://vardenafilo.icu/# farmacia online madrid

  42. EddieBug说道:

    farmacia gibraltar online viagra viagra precio sildenafilo 100mg farmacia

  43. RonnieLit说道:

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

  44. RonnieLit说道:

    http://sildenafilo.store/# sildenafilo 100mg precio farmacia

  45. MarioRip说道:

    farmacia online barata: farmacia online barata y fiable – farmacia barata

  46. RonnieLit说道:

    https://farmacia.best/# farmacia online 24 horas

  47. RonnieLit说道:

    http://sildenafilo.store/# farmacia gibraltar online viagra

  48. MarioRip说道:

    viagra precio 2022: comprar viagra en espana – sildenafilo sandoz 100 mg precio

  49. RonnieLit说道:

    https://kamagraes.site/# farmacias online seguras en españa

  50. JasonDer说道:

    http://tadalafilo.pro/# farmacias online baratas

发表回复

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