The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > Программирования высокого уровня
.
Google unix.com



Программирования высокого уровня Почтовые вопросы о C, C + +, Java, SQL и других языках программирования здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
адреса памяти areef4u Программирования высокого уровня 0 08-04-2006 07:43 AM
Многобайтовых символов ASCII jerardfjay Shell программирование и сценарии 8 11-18-2005 02:45 AM
Hex символов ASCII-файл budrito HP-UX 2 08-10-2005 10:26 PM
глупый вопрос о ASCII символов jalburger Программирования высокого уровня 2 09-28-2004 03:56 PM
адреса памяти Paravozzz Программирования высокого уровня 0 10-15-2002 12:17 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 01-24-2008
JamesGoh JamesGoh is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 89
C + язык простой вопрос о памяти, адреса и символы ASCII

Просто вопрос (который может показаться глупой нести так со мной), которые возникали в моем сознании на другой день. У ASCII символов сами по себе (например, / N, 0, A) имеют фактический адрес памяти?

Мой вопрос возникает потому, что Им известно, что каждый раз, когда я создаю и initalise указатель, как этот, например

Код:
int *ptr = 5;
Я всегда получить нулевой указатель ошибок.

Большое спасибо
Old 01-24-2008
Shamrock shamrock is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Место проведения: США
Сообщений: 750
Цитата:
Первоначально Послано JamesGoh View Post
Просто вопрос (который может показаться глупой нести так со мной), которые возникали в моем сознании на другой день. У ASCII символов сами по себе (например, / N, 0, A) имеют фактический адрес памяти?

Мой вопрос возникает потому, что Им известно, что каждый раз, когда я создаю и initalise указатель, как этот, например

Код:
int *ptr = 5;
Я всегда получить нулевой указатель ошибок.

Большое спасибо
Да они делают. Ваше заявление, создает указатель, но не ограничивают его в переменной типа INT. Ваш код составить порядке и на какой компилятор?
Old 01-24-2008
JamesGoh JamesGoh is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 89
Для получения кода я говорил в моем первом посту,

Код:
int *ptr=5;
компилятор (я использую GCC BTW), подготовленный одним предупреждением, что указателя с целочисленным было сделано без необходимых typecast. (Shamrock предупредил меня об этом, так что эта GCC производства, вероятно, ожидается).

Я попробовал этот

Код:
char *str="helloworld\n";
printf("string value is %s\n",*str)
и нашел программу составлен хорошо, но во время выполнения я получил ошибку сегментации вины. Я также обнаружил, что в первый сегмент кода, если вы игнорируете компилятору оповещения и запускать программы прямо, вы получаете то же время выполнения ошибки.

Как указатели, чтобы быть отнесены к памяти (и указывают на ценности), в связи с этим основными знаниями и тот факт, что символы ASCII имеют адреса памяти, не так код сегментов технически правильно??

Последний раз редактировалось JamesGoh; на 01-24-2008 07:18 PM..
Old 01-25-2008
Shamrock shamrock is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Место проведения: США
Сообщений: 750
Код:
int *ptr=5;
Указатель может быть инициализирован к нулю или нулевой, если это не точка с переменными этого типа.

Код:
char *str="helloworld\n";
printf("string value is %s\n",*str)
В "% S" преобразование спецификации принимает указатель аргумент не фактический характер, что * указывает на ул. Так что если вы хотите напечатать всю строку ...

Код:
printf("string value is %s\n", str);
и если вы хотите распечатать, что символ * ул центров по ...

Код:
printf("str points to %c\n", *str);
Old 01-28-2008
JamesGoh JamesGoh is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2007
Сообщений: 89
Цитата:
Первоначально Послано Shamrock View Post
Код:
int *ptr=5;
Указатель может быть инициализирован к нулю или нулевой, если это не точка с переменными этого типа.
Так что это всегда происходит (за исключением пользовательских строк), в реальном мире программирования, хотя индивидуальные ASCII символов (например, 5) адреса памяти?
Old 01-29-2008
Shamrock shamrock is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Место проведения: США
Сообщений: 750
Цитата:
Первоначально Послано JamesGoh View Post
Так что это всегда происходит (за исключением пользовательских строк), в реальном мире программирования, хотя индивидуальные ASCII символов (например, 5) адреса памяти?
Да ASCII символов имеют адреса памяти, хотя 5 целое не является ASCII символов. Чтобы быть intrepreted символа в C оно должно быть в одиночных кавычек.

Код:
char v = '5';
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 01:36 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0