[c/c++]柔性数组

/ 26,339评论 / 108554阅读 / 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. Diplomi_nuol说道:

    Здравствуйте!
    Заказать документ института вы имеете возможность в нашей компании в Москве.
    diplomyx.com/kupit-diplom-o-vysshem-obrazovanii 

  2. Danrymz说道:

    Привет, друзья!
    Мы изготавливаем дипломы любой профессии.
    mizunosoccershoesfans.com/read-blog/3216_vybiraem-proverennyj-magazin-s-diplomami.html?mode=day
    Поможем вам всегда!.

  3. RubenScorm说道:

    שלו, את הפנטזיות שבוערות בתוכו ואותן הוא רוצה להגשים. כל גבר יכול להגשים את הפנטזיות וזה מה שהוא צריך לעשות בשביל לחיות חיים מרוכז בתחושת הנעימות של הגוף. אז אם בא לך ליהנות הלילה, ולהרגיש חלק מאותו מועדון אקסקלוסיבי של גברים אשר יודעים ליהנות מהחיים, hop over to this web-site

  4. Dnrtkjw说道:

    Добрый день!
    Заказать документ института вы сможете у нас в столице.
    asxdiplomik.com/kupit-diplom-sankt-peterburg
    Успешной учебы!

  5. cheap ivermectin说道:

    To play the Aviator Game, you need a device with internet access and a web browser that supports HTML5. This
    ivermectin for sale

  6. TimothyCek说道:

    נמצאות בכל מקום, דירות דיסקרטיות בתל אביב גם מציעות חווית אירוח 24 שעות ביממה. כאשר אתה מרגיש חרמן בבוקרו של יום, או רוצה נערות אשר יודעות מה הגבר צריך, והן מעניקות לו את הכל במסירות מוחלטת. הבילוי עם הנערות משאיר אחריו תחושה של חופשה נעימה. זיכרון link

  7. Uazrmqz说道:

    Привет, друзья!
    Приобрести диплом любого ВУЗа.
    network.janenk.com/read-blog/686

  8. звуковое оборудование для конференц зала oborudovanie-konferenc-zalov.ru .

  9. Dnrtqnz说道:

    Привет, друзья!
    Заказать документ университета вы имеете возможность в нашей компании.
    asxdiplomik24.ru/kupit-diplom-sankt-peterburg
    Удачи!

  10. Dnrtpie说道:

    Добрый день!
    Заказать документ о получении высшего образования можно в нашей компании в столице.
    asxdiplomik.com/kupit-diplom-o-srednem-obrazovanii
    Успехов в учебе!

  11. Mazrmtt说道:

    Привет!
    Реально ли приобрести диплом стоматолога? Основные этапы
    http://www.bigfootpodiatry.com.au/аттестаты-дипломы-купить/

  12. The user interface of the Aviator Game is designed to be intuitive and user-friendly. The clean design and easy
    ivermectin where to buy

  13. Charlieacupt说道:

    L’inscription a 1xBet est-elle disponible sans passeport?
    Vous pouvez vous inscrire a 1xbet code promo tours gratuits sans donnees de passeport, mais a l’avenir, dans votre compte personnel, vous devrez remplir un questionnaire indiquant votre nom, votre nom et votre date de naissance. A l’avenir, avant la premiere Conclusion, il faudra egalement passer par la verification.

  14. Michaelnoult说道:

    купить вязаный костюм с юбкой – интернет магазин купальники, фиолетовые купальники купить

  15. Trefxiy说道:

    Привет!
    Как купить аттестат 11 класса с официальным упрощенным обучением в Москве
    bjyou4122.com/?270393
    Будем рады вам помочь!.

  16. Trefcxw说道:

    Привет, друзья!
    Как официально купить аттестат 11 класса с упрощенным обучением в Москве
    sex8.zone/home.php?mod=space&uid=9145316&do=profile
    Рады помочь!.

  17. Dnrtgxy说道:

    Добрый день!
    Приобрести документ института вы можете в нашей компании.
    ast-diplomas.com/kupit-diplom-rostov-na-donu
    Удачи!

  18. Mazrwvl说道:

    Здравствуйте!
    Купить документ института можно у нас в столице. Мы оказываем услуги по продаже документов об окончании любых университетов РФ. Вы получите необходимый диплом по любым специальностям, включая документы СССР. Даем 100% гарантию, что в случае проверки документов работодателем, подозрений не появится.
    Мы готовы предложить дипломы любой профессии по приятным тарифам. Стоимость зависит от выбранной специальности, года выпуска и университета. Всегда стараемся поддерживать для заказчиков адекватную политику тарифов. Для нас важно, чтобы документы были доступны для подавляющей массы граждан.
    allukrnews.ru/diplom-za-dengi-legko-byistro-i-bez-riska/
    Рады помочь!

发表回复

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