[c/c++]柔性数组

/ 26,372评论 / 108676阅读 / 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. Sazrcci说道:

    Привет, друзья!
    Сколько стоит диплом высшего и среднего образования и как его получить?
    ya.2bb.ru/viewtopic.php?id=19602#p241124
    Всегда вам поможем!

  2. It’s nearly impossible to find educated people on this subject, however, you seem like you know what you’re talking about! Thanks

  3. Jamesjer说道:

    buy online doxycycline: doxycycline purchase – doxycycline hyclate 100 mg capsules

  4. ThomasInace说道:

    http://clomiddelivery.pro/# can i buy cheap clomid no prescription

  5. Diplomi_vdst说道:

    можно ли купить медицинский диплом diploms-x.com .

  6. ThomasInace说道:

    http://amoxildelivery.pro/# buy amoxicillin over the counter uk

  7. Cazrqsy说道:

    Привет, друзья!
    Мы можем предложить документы ВУЗов, расположенных в любом регионе РФ. Можно купить диплом за любой год, указав необходимую специальность и оценки за все дисциплины. Документы печатаются на бумаге высшего качества. Это позволяет делать государственные дипломы, не отличимые от оригинала. Они будут заверены всеми обязательными печатями и подписями.
    hvacprotalk.com/read-blog/219

  8. Lazrlbg说道:

    Добрый день!
    Мы изготавливаем дипломы любой профессии по выгодным тарифам.
    http://www.cetprocapci.com/inicio/uncategorized/купить-диплом-кассира/

  9. Sazrnhw说道:

    Добрый день!
    Купить диплом старого образца, можно ли это сделать по быстрой схеме?
    artem-energo.ru/message.php?msg=151
    Всегда вам поможем!

  10. Sazrkwh说道:

    Здравствуйте!
    Диплом вуза купить официально с упрощенным обучением в Москве
    bogatbeden.listbb.ru/viewtopic.php?f=3&t=437
    Будем рады вам помочь!

  11. Jamesjer说道:

    paxlovid generic: paxlovid price – paxlovid pill

  12. RustyNof说道:

    газоблок москва https://gazobeton-moskow.ru/

  13. Uazrffc说道:

    Привет, друзья!
    Купить диплом любого университета.
    trum.flybb.ru/viewtopic.php?f=15&t=4688&sid=87dec77769dda0a19b59f24b871611b0

  14. Uazrftq说道:

    Привет, друзья!
    Приобрести диплом о высшем образовании.
    bahchisaray.org.ua/index.php?showtopic=33568

  15. ThomasInace说道:

    https://amoxildelivery.pro/# amoxicillin 800 mg price

  16. Lazrqkd说道:

    Добрый день!
    Приобрести диплом любого университета.
    livestockkenya.com/index.php/cb-profile/pluginclass/cbblogs?action=blogs&func=show&id=244

  17. Trefgfw说道:

    Привет, друзья!
    Покупка диплома о среднем полном образовании: как избежать мошенничества?
    ud-kultura.ru/index.php?subaction=userinfo&user=afywiryr
    Рады оказаться полезными!.

  18. Trefxft说道:

    Добрый день!
    Покупка школьного аттестата с упрощенной программой: что важно знать
    http://www.liveinternet.ru/users/avimnfnhtf/post505853562//
    Рады оказать помощь!.

  19. скачать порно коллекций https://www.porn-library.ru .

  20. Jamesjer说道:

    where can i get generic clomid without insurance: can i get clomid no prescription – how to buy clomid without a prescription

  21. Diplomi_wlol说道:

    Здравствуйте!
    Заказать документ о получении высшего образования можно в нашей компании в Москве.
    ast-diplom.com/kupit-diplom-novosibirsk 

  22. Convenience: Play from the comfort of your home or on the go.
    ivermectin purchase

  23. Jamesjer说道:

    can you buy generic clomid pills: can i purchase clomid tablets – how to buy generic clomid no prescription

  24. ThomasInace说道:

    http://paxloviddelivery.pro/# Paxlovid over the counter

  25. Jamesjer说道:

    can i buy amoxicillin online: amoxicillin tablet 500mg – amoxicillin from canada

  26. Dnrtmsk说道:

    Добрый день!
    Купить документ ВУЗа вы сможете у нас.
    diplomasx.com/kupit-diplom-omsk
    Удачи!

  27. порно коллекции бесплатно https://porn-library.ru .

  28. коллекции порно онлайн porn-library.ru .

  29. Vid-stroy_xsOt说道:

    интернет магазин стройматериалов интернет магазин стройматериалов .

  30. Sazrbnz说道:

    Привет, друзья!
    Можно ли купить аттестат о среднем образовании? Основные рекомендации
    bdfeu.ukraine7.com/t19982-topic#36429
    Поможем вам всегда!

  31. Lazrvqs说道:

    Привет, друзья!
    Заказать диплом любого университета.
    web.nioch.nsc.ru/medchemschool2020/index.php/cb-profile/pluginclass/cbblogs?action=blogs&func=show&id=146

  32. Lazroyp说道:

    Добрый день!
    Купить диплом ВУЗа.
    licomklicu.ru/read-blog/885

  33. Lazrlab说道:

    Привет!
    Мы можем предложить дипломы любой профессии по доступным ценам.
    http://www.industrialagency.org/blogs/69281/Дипломы-для-Успешной-Карьеры

  34. KennethNal说道:

    Full list of CS:GO/CS2 https://wiki.vpesports.com skins, detail descriptions

  35. ThomasInace说道:

    https://paxloviddelivery.pro/# Paxlovid buy online

  36. Eanrwtz说道:

    Привет, друзья!
    Мы предлагаем дипломы любых профессий по приятным ценам.
    9unity.com/read-blog/2356_nadezhnyj-onlajn-magazin-s-bolshim-assortimentom-diplomov.html?mode=night

  37. Jamesjer说道:

    amoxicillin 500mg capsule cost: over the counter amoxicillin canada – amoxicillin 500 mg where to buy

发表回复

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