С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

memset - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какую площадь и периметр будет квадрат, описанный вокруг круга заданной площади http://www.cyberforum.ru/cpp-beginners/thread98478.html
Ето надо решыть!!! Пожалуста помогите!!!! А) Заданное с клавиатуры действительное число уменьшить на 10. Б) Вычислить, - задать с клавиатуры. В) Какую площадь и периметр будет квадрат,...
C++ Нужно протестить програмку Она маленькая, все что умеет: переводить числа с любой системы счисления в любую в диапазоне как целые так и дробные и представлять числа в прямых и дополнительных двоичных кодах. Меня... http://www.cyberforum.ru/cpp-beginners/thread98461.html
C++ Мне нравятся мальчики!
Написать программу, которая по введенному вопросу «Кто ты: мальчик или девочка? Введи Д или М». В зависимости от ответа выдает на экран текст «Мне нравятся девочки!» или «Мне нравятся мальчики!»
удалить из массива максимальный из четных элементов C++
// labaaaaaaa1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <conio.h> #include <iostream> #include <stdio.h> void createArr(int &, int &); int...
C++ Ошибка при добавлении #include <iostream.h> http://www.cyberforum.ru/cpp-beginners/thread98447.html
Почему при добавлении строчки #include <iostream.h> выдает ошибку fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
C++ Преобразование чисел в двоичный вид Задача.С клавиатуры вводится целое число. Необходимо вывести его двоичное представление на экран. Отрицательные числа выводятся в дополнительном коде. Необходимо также решить обратную задачу:... подробнее

Показать сообщение отдельно
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
24.02.2010, 07:20
Цитата Сообщение от Syltan
Хорошо, скажите в двух словах, смысл memset какой?
одно и то же значение записывается в каждый байт

C
1
2
3
4
struct {
    int a;
    int b;
} s;
дана структура s, в ней два поля a и b
если размер int равен четырём байтам, то каждое поле равно четырём байтам
размер структуры равен 2*4 = 8 байт

C
1
memset(&s, 1, sizeof s)
в каждый байт каждого поля запишет значение 1

в поле a будет хранится число 0x01010101
в поле b будет хранится число 0x01010101

иллюстрация

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(void) /* ANSI C89 */
{
    struct {
        int a;
        int b;
    } s;
    
    memset(&s, 1, sizeof s);
    
    printf("%#.8x" "\n", s.a);
    printf("%d" "\n", s.a);
    
    exit(EXIT_SUCCESS);
}
Код
[guest@station test]$ ./test
0x01010101
16843009
[guest@station test]$
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.