Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aragon
0 / 0 / 0
Регистрация: 07.01.2010
Сообщений: 27
#1

Указатель на констансное значение - C++

16.01.2010, 12:24. Просмотров 350. Ответов 7
Метки нет (Все метки)

Я в указателях не особо шарю
Вот инициализирую *mas и заполняю его числами компилятор почему то выдает ошибку
Помогите разобраться
Заранее спасибо
C++
1
2
3
4
int main()
{
  int* mas[5]={1,6,4,9};
}
Выдает ошибку
error C2440: инициализация: невозможно преобразовать 'int' в 'int *'
Для преобразования из целого типа в указатель требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2010, 12:24     Указатель на констансное значение
Посмотрите здесь:

Указатель,принимающий значение ф-ции strstr() - C++
#include <iostream> #include <windows.h> using namespace std; int main() { SetConsoleOutputCP(1251); ...

Константный указатель на константу меняет значение - C++
int d = 7; const int* const cd = &d; d = 8; qDebug()<<*cd;

Указатель указывает на несуществующую переменную, но выводит значение - C++
Вот такой пример нашел в учебнике. В описании сказано, что локальные переменные функции SomeFunction() удаляются сразу после завершения...

Указатель: Получить значение по адресу, указываемому указателем - C++
Написать программу, в которой выполнить следующие действия: a) Описать указатели на все известные типы данных; b) Выполнить для каждого...

Объявите указатель и присвойте ему первоначальное значение - C++
кто шарит выручайте 1. Объявите массив типа целое без знака, состоящий из 5 элементов, и инициализируйте элементы массива...

Указатель на функцию, укзатель на воид и возвращаемое функцией значение - C++
Есть функции, идентичные по функционалу, но возвращающие значения разных типов(сами значения не важны). double a() { cout << 123...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
schdub
2940 / 1284 / 238
Регистрация: 19.01.2009
Сообщений: 3,360
Завершенные тесты: 1
16.01.2010, 12:35     Указатель на констансное значение #2
нужно
C++
1
int mas[5]={1,6,4,9};
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
16.01.2010, 12:38     Указатель на констансное значение #3
Aragon:
Это был массив указателей, его можно инициализировать адресами памяти динамических,
или статических переменных.
Aragon
0 / 0 / 0
Регистрация: 07.01.2010
Сообщений: 27
16.01.2010, 12:40  [ТС]     Указатель на констансное значение #4
Несовсем мне нужно mas потом в функцию с указателем впихнуть
&mas-нехочет

я в ступоре
schdub
2940 / 1284 / 238
Регистрация: 19.01.2009
Сообщений: 3,360
Завершенные тесты: 1
16.01.2010, 12:42     Указатель на констансное значение #5
Aragon, декларация функции?
Aragon
0 / 0 / 0
Регистрация: 07.01.2010
Сообщений: 27
16.01.2010, 12:48  [ТС]     Указатель на констансное значение #6
Вот полный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void PrintStr(int* mas[])
{
    int i=0;
    printf("\n");
    do
    {
        printf("%d",mas[i]);
        i++;
    }while(mas[i]!='\0');
}
void qsort(int* mas[],int n)
{
  .........
}
 
int main()
{
    int* mas[10]={1,7,3,4,6,7,8,7,9};    //ошибка токо здесь
    PrintStr(mas);
    qsort(mas,9);
    PrintStr(mas);
    getch();
    return 0;
}
schdub
2940 / 1284 / 238
Регистрация: 19.01.2009
Сообщений: 3,360
Завершенные тесты: 1
16.01.2010, 12:54     Указатель на констансное значение #7
пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void func(int *m)
{
    // что-нибудь делаем с массивом
    m[0] = 0;
    // ...
}
 
int main()
{
    int mas[5]={1,6,4,9};
    // передача указателя на массив
    func(mas);  
}
причем, отмечу, что функция func может быть объявлена разными способами
C++
1
2
3
4
  void func(int *m);
  void func(int m[]);
  void func(int m[10]);
  void func(int m[255]);
и все они будут валидны для стандарта С89.

Добавлено через 3 минуты
вот твой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <conio.h>
 
void PrintStr(int mas[])
{
        int i=0;
        printf("\n");
        do
        {
                printf("%d",mas[i]);
                i++;
        }while(mas[i]!='\0');
}
 
void qsort(int mas[],int n)
{
  .........
}
 
int main()
{
        int mas[10]={1,7,3,4,6,7,8,7,9};    //îøèáêГ* òîêî çäåñü
        PrintStr(mas);
        qsort(mas,8);
        PrintStr(mas);
        getch();
        return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2010, 13:31     Указатель на констансное значение
Еще ссылки по теме:

Почему не возвращается значение через указатель из метода класса? - C++
Вот решил проверить поведение указателя в программе (я только учу C++), как оказалось после выхода из метода, указатель не указывает на...

Возвращаемое значение функции - указатель на массив. КАК это записать? - C++
Функция заполняет массив. например (кусок проги) .... int mas; int fun() { заполнила массив

Как передать указатель функции, чтобы значение переменной изменилось? - C++
Имеются переменная и указатель на нее. int x, *y = &amp;x; Как передать указатель ф-ии, чтобы значение переменной изменилось?

Функция, принимающая указатель на переменную и записывающая в нее значение модуля - C++
Написать функцию, которая принимает указатель на переменную и записывает в нее (переменную) модуль самой себя. ребята, что не так? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
16.01.2010, 13:31     Указатель на констансное значение #8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
void printArray(int *arr, int count){
    while ( count-- )
        printf("%d ", *arr++ );
}
 
int cmpAsc(const void *a, const void *b){
    return *(int*)a - *(int*)b;
}
 
int main(void){
    int arr[] = { 2, 5, 3, 1, 6, 9, 7, 4, 8 };
    printf("\nUnsorted:\n");
    printArray(arr, sizeof(arr) / sizeof(*arr));
    qsort(arr, sizeof(arr) / sizeof(*arr), sizeof(*arr), cmpAsc);
    printf("\nSorted:\n");
    printArray(arr, sizeof(arr) / sizeof(*arr));
    printf("\n");
    return 0;
}
Yandex
Объявления
16.01.2010, 13:31     Указатель на констансное значение
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru