[c/c++]柔性数组

/ 26,328评论 / 108514阅读 / 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. MarioRip说道:

    venta de viagra a domicilio: comprar viagra en espana – sildenafilo precio farmacia

  2. KevinWon说道:

    Acheter mГ©dicaments sans ordonnance sur internet tadalafil Pharmacie en ligne France

  3. Eliseokab说道:

    Pharmacie en ligne livraison gratuite: Levitra pharmacie en ligne – Pharmacie en ligne fiable

  4. LarryBom说道:

    https://kamagrafr.icu/# Pharmacie en ligne livraison rapide

  5. KevinWon说道:

    Pharmacie en ligne sans ordonnance cialis prix Pharmacie en ligne fiable

  6. LarryBom说道:

    https://cialissansordonnance.pro/# pharmacie en ligne

  7. LarryBom说道:

    http://viagrasansordonnance.store/# Viagra homme sans ordonnance belgique

  8. MarioRip说道:

    farmacia barata: comprar cialis original – farmacia 24h

  9. LarryBom说道:

    https://levitrafr.life/# Pharmacie en ligne France

  10. LarryBom说道:

    http://levitrafr.life/# acheter medicament a l etranger sans ordonnance

  11. MarioRip说道:

    farmacia envГ­os internacionales: Levitra precio – farmacias baratas online envГ­o gratis

  12. Eliseokab说道:

    Pharmacie en ligne livraison 24h: Medicaments en ligne livres en 24h – acheter mГ©dicaments Г  l’Г©tranger

  13. LarryBom说道:

    https://levitrafr.life/# Pharmacie en ligne France

  14. KevinWon说道:

    Viagra Pfizer sans ordonnance Meilleur Viagra sans ordonnance 24h SildГ©nafil 100 mg prix en pharmacie en France

  15. Eliseokab说道:

    Pharmacie en ligne France: acheter mГ©dicaments Г  l’Г©tranger – Pharmacie en ligne fiable

  16. KevinWon说道:

    pharmacie ouverte 24/24 Acheter Cialis Pharmacie en ligne livraison 24h

  17. MarioRip说道:

    farmacia online madrid: kamagra oral jelly – farmacia online madrid

  18. LarryBom说道:

    http://pharmacieenligne.guru/# Pharmacie en ligne pas cher

  19. MarioRip说道:

    farmacia online internacional: vardenafilo – farmacia online madrid

  20. LarryBom说道:

    http://levitrafr.life/# Pharmacie en ligne livraison gratuite

  21. Eliseokab说道:

    Acheter mГ©dicaments sans ordonnance sur internet: Levitra sans ordonnance 24h – Pharmacie en ligne livraison rapide

  22. KevinWon说道:

    Pharmacie en ligne livraison rapide kamagra oral jelly pharmacie ouverte

  23. Eliseokab说道:

    Viagra sans ordonnance 24h Amazon: Acheter du Viagra sans ordonnance – Meilleur Viagra sans ordonnance 24h

  24. LarryBom说道:

    https://kamagrafr.icu/# acheter médicaments à l’étranger

  25. MarioRip说道:

    farmacias online baratas: farmacia online internacional – farmacia 24h

  26. KevinWon说道:

    acheter mГ©dicaments Г  l’Г©tranger kamagra livraison 24h Pharmacie en ligne pas cher

  27. LarryBom说道:

    https://pharmacieenligne.guru/# acheter medicament a l etranger sans ordonnance

  28. Eliseokab说道:

    acheter medicament a l etranger sans ordonnance: pharmacie en ligne – pharmacie ouverte

  29. Eliseokab说道:

    Viagra sans ordonnance 24h suisse: Viagra sans ordonnance 24h – Viagra homme sans prescription

  30. KevinWon说道:

    п»їpharmacie en ligne pharmacie en ligne sans ordonnance Pharmacie en ligne livraison gratuite

  31. MarioRip说道:

    sildenafilo 50 mg precio sin receta: viagra generico – sildenafilo 100mg precio espaГ±a

  32. KevinWon说道:

    Viagra pas cher livraison rapide france Meilleur Viagra sans ordonnance 24h Acheter Sildenafil 100mg sans ordonnance

  33. RonnieLit说道:

    https://kamagraes.site/# farmacias online baratas

  34. MarioRip说道:

    farmacia online madrid: tadalafilo – farmacia online 24 horas

  35. RonnieLit说道:

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

  36. JasonDer说道:

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

  37. RonnieLit说道:

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

  38. JasonDer说道:

    http://kamagraes.site/# п»їfarmacia online

  39. MarioRip说道:

    sildenafilo 50 mg comprar online: sildenafilo 50 mg precio sin receta – comprar viagra en espaГ±a envio urgente

  40. RonnieLit说道:

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

  41. EddieBug说道:

    farmacia online barata kamagra gel farmacia online 24 horas

  42. MarioRip说道:

    farmacia online barata: kamagra – farmacia envГ­os internacionales

  43. RonnieLit说道:

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

  44. EddieBug说道:

    viagra online cerca de bilbao comprar viagra en espana comprar viagra en espaГ±a amazon

  45. JasonDer说道:

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

  46. JasonDer说道:

    http://farmacia.best/# п»їfarmacia online

  47. RonnieLit说道:

    https://farmacia.best/# farmacia barata

  48. RonnieLit说道:

    https://vardenafilo.icu/# farmacias online baratas

  49. MarioRip说道:

    farmacia envГ­os internacionales: comprar cialis online seguro – farmacias online seguras en espaГ±a

  50. EddieBug说道:

    п»їfarmacia online farmacia envio gratis farmacias baratas online envГ­o gratis

发表回复

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