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

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

Восстановить пароль Регистрация
 
Aragon
0 / 0 / 0
Регистрация: 07.01.2010
Сообщений: 27
16.01.2010, 12:24     Указатель на констансное значение #1
Я в указателях не особо шарю
Вот инициализирую *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     Указатель на констансное значение
Посмотрите здесь:

Объявите указатель и присвойте ему первоначальное значение C++
Как вывести на экран переменную из функции, которой присваиваеться значение через указатель? C++
Почему не возвращается значение через указатель из метода класса? C++
Возвращаемое значение функции - указатель на массив. КАК это записать? C++
C++ Указатель указывает на несуществующую переменную, но выводит значение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
schdub
 Аватар для schdub
2902 / 1246 / 222
Регистрация: 19.01.2009
Сообщений: 3,215
Завершенные тесты: 1
16.01.2010, 12:35     Указатель на констансное значение #2
нужно
C++
1
int mas[5]={1,6,4,9};
Genius Ignat
1233 / 771 / 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
 Аватар для schdub
2902 / 1246 / 222
Регистрация: 19.01.2009
Сообщений: 3,215
Завершенные тесты: 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
 Аватар для schdub
2902 / 1246 / 222
Регистрация: 19.01.2009
Сообщений: 3,215
Завершенные тесты: 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++ Как получить значение из метода класса, если метод возвращает указатель?

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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     Указатель на констансное значение
Ответ Создать тему
Опции темы

Текущее время: 18:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru