|
|
Другие темы раздела | |
C (СИ) Функция обращения массива Составьте функцию revarray, переставляющую элементы любого массива в обратном порядке. Функция должна быть объявлена как void revarray(void *base, unsigned long nel, unsigned long width) { ... } Здесь параметр base означает указатель на начало массива, nel – количество элементов в массиве, а width – размер каждого элемента массива в байтах. Проверка работоспособности функции... https://www.cyberforum.ru/ c-beginners/ thread1831158.html |
Умножение матриц: найти ошибку в вычислениях C (СИ) Не понимаю в чем ошибка. учусь на указателях,поэтому обязательное выполнение задачи на них. #include<stdio.h> main() {int a,b,c,f,d,*i1,*j1,vn,nomer1,nomer2,buf1,buf2,*u,*i,*j,n,m,s,*k; printf("Vvedite razmern. massiva A \n"); scanf("%d%d",&n,&m); for(i=*a;i<*(a+n);i+=20) for(j=i;j<i+m;j++) scanf("%d",j); |
C (СИ) Сформировать однонаправленный список со звеном-заголовком, удалить две следующие буквы после буквы "Т" Сформировать однонаправленный список из звеном-заголовком и вы- далиты две следующие буквы после буквы "Т". Вывести на печать оба списки. #include <stdio.h> #include <stdlib.h> #include <string.h> #define MES_LEN 200 //using namespace std; typedef struct inform https://www.cyberforum.ru/ c-beginners/ thread1830988.html | C (СИ) Программа для удаления лишних пробелов, табуляций, строк в файле Здравствуйте. Помогите дополнить или изменить программу (на Си), которая удаляла бы лишние пробелы, табуляции и пустые строки в файле. Благодарю. #include <stdio.h> #include <stdlib.h> #include <ctype.h> int test_str(const char * s) { https://www.cyberforum.ru/ c-beginners/ thread1830962.html |
Седловая точка в матрице C (СИ) Элемент двумерного массива называется седловым, если он одновременно наибольший в своей строке и наименьший в своём столбце. Дан целочисленный двумерный массив, размер которого не превышает 10 × 10. Известно, что все элементы массива различны. Составьте программу saddlepoint.c, определяющую седловую точку в этом массиве. Программа должна считывать из стандартного потока ввода количество строк и... |
C (СИ) Умножение матрицы на матрицу
https://www.cyberforum.ru/ c-beginners/ thread1830935.html Не понимаю в чем ошибка. учусь на указателях,поэтому обязательное выполнение задачи на них. |
C (СИ) Определить наличие заданных символов в строке
https://www.cyberforum.ru/ c-beginners/ thread1830851.html Помогите составить программу, где нужно ввести строку. Если в этой строке есть символы "q'',''w'',''e'', то вывести на экран,что в строке есть символы "q'',''w'',''e'', а если нет то выввести, что нет этих символов. |
C (СИ) Найти произведение нечетных цифр двух чисел m и n (Pascal -> C) Перевести код с Pascal в C. Нужно найти произведение нечетных цифр двух чисел m и n.var n, s, t, m, v, c :integer; begin readln(n); readln(m); s := 1; v :=1; while n > 0 do begin t := n mod 10; |
C (СИ) Вычислить значение выражения
https://www.cyberforum.ru/ c-beginners/ thread1830831.html Задача: Дано натуральное n и действительное a. Вычислить: 1/a + 1/a(a+1) + .... + 1/a(a+1)....(a+n) ; В общем учусь на первом курсе, знаний мало, написал что смог (все работает, считает правильно) Но преподша не приняла, говорит типо деление на 0 не учтено, хотя консоль выдает "inf", если в знаменателе 0 Сам код: |
C (СИ) Создать игру "Русское Лото" Привет дорогие форумчане, прошу помочь с написанием программы на Си. Идея программы заключается в создание игры "Лото" . Есть код программы на С++. Не могли бы вы мне помочь его исправить на Си https://www.cyberforum.ru/ c-beginners/ thread1830810.html |
Рекурсивное возведение в целую степень C (СИ) Только начал разбираться с рекурсией, идет туго. Возведение в степень получилось примерно таким : #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> long double pow(long double denominator, int power); int main(void) { |
C (СИ) Переставляя строки матрицы, расположить их по возрастанию сумм их положительных четных элементов Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик. При поиске суммы выводит просто 1. #include "stdafx.h" #include <stdio.h> #include <conio.h> int _tmain() { int a, m,n, sum, mem,i,j; https://www.cyberforum.ru/ c-beginners/ thread1830752.html |
863 / 451 / 89
Регистрация: 10.06.2014
Сообщений: 2,643
|
|
21.10.2016, 16:13 [ТС] | 0 |
Выравнивание адреса памяти - C (СИ) - Ответ 967214621.10.2016, 16:13. Показов 20687. Ответов 47
Метки (Все метки)
Ответ
Убежденный,
Понял. Спасибо! Как я понял, выравнивание сводится к следующему: Если нужно переменную малого типа привести к переменной большего типа(например int к long), тогда результат занимает 4 байта а остальные 4 забиваются мусором, что бы сократить количество обращений процессором к памяти для считывания данных. Если этот процесс можно вычислить на этапе компиляции, то данную работу берет на себя компилятор. Если же дело происходит в рантайме, то разработчик сам должен заполнить оставшуюся часть памяти большего типа мусором что бы обеспечить выравнивание. Я правильно понимаю? Если данные разных типов, находящиеся в одном непрерывном блоке памяти(например, в структуре) не соблюдают правильную последовательность определения типов, то данные заполняются компилятором с помощью мусора. То есть правильно писать struct {char a; char b; int n;} а не {char a; int b; char b;}. Но почему так происходит я не понимаю. Можете кто нибудь объяснить? По идее оба char-a должны быть забиты до 4 байта (1 байт сам char и 3 байта мусора) на 32 битных системах, а на 64 битных должно быть 7 байт мусора на каждый char в структуре? Добавлено через 8 минут Именно не понятно почему тут http://rextester.com/WLM62012 24 байта. Тут http://rextester.com/UKWSN11327 понимаю почему 16 байтов, по 4 байта выровненные char-ы и 8 long. Вернуться к обсуждению: Выравнивание адреса памяти C (СИ)
0
|
21.10.2016, 16:13 | |
Готовые ответы и решения:
47
Выделить в памяти 1024 ячейки по 8 байт и вывести их адреса(МИНИ менеджер памяти)) Записать дополнительный код содержимого 16 ячеек памяти, начиная с адреса 910. Результаты занести в ячейки памяти, н Выравнивание памяти под 16 Выравнивание памяти в stm32 |
21.10.2016, 16:13 | |
21.10.2016, 16:13 | |
Помогаю со студенческими работами здесь
0
Выравнивание сегмента памяти Выравнивание памяти и скорость работы. Адреса памяти Узнать адреса памяти |