廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2959 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
showun 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++] [問題]指標的問題
哈..大大我又來了...

#include <cstdlib>
#include <iostream.h>
#include <string.h>
#include <stdlib.h>

void swapP( char & x, char & y)
{
char tmp=(char) (x-'a'+'A');
x=y;
y=tmp;
cout<<x ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



[ 此文章被showun在2005-11-10 22:42重新編輯 ]


獻花 x0 回到頂端 [樓 主] From:台灣中華電信 | Posted:2005-11-10 21:18 |
youchun
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x26
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

複製程式
/* 改成如下 */
char X[]="data structure";
char Y[]="45abcd";

/* errors occured
 * 可能是因為針對同一 char[] 操作所造成
 * strcat();
 */
至於 strrev 我就不知道這在做什麼


獻花 x1 回到頂端 [1 樓] From:台灣中華電信 | Posted:2005-11-10 22:23 |
showun 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

真的解決了也..可是為什麼是那個錯誤..指標不是要寫成char* x這樣嗎??


獻花 x0 回到頂端 [2 樓] From:台灣中華電信 | Posted:2005-11-10 22:40 |
youchun
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x26
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片



獻花 x0 回到頂端 [3 樓] From:台灣中華電信 | Posted:2005-11-10 23:58 |
pointer
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x15
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

To showun

char *X="data structure"; //編譯器配置靜態記憶體給字串再將d字元位址指向X char型態指標
char X[]="data structure"; //他是配置一塊連記憶體的空間 X陣列名稱等於陣列起始位址 , 相當於門牌地址不可以變動就是只能是那位址

字串 = 字元陣列
指標 : 指標變數       ex: X++ ; // ok
陣列 : 指標常數       ex: X++ ; // error
指標 != 陣列 //千萬不要搞亂

下面程式碼是我寫的你參考一下吧

#include <stdio.h>
#include <stdlib.h>

void test(char * s)
{
  s[0] = 'w'
  s[1] = 'o'
  s[2] = 'r'
  s[3] = 'l'
  s[4] = 'd'
}

int main(int argc, char *argv[])
{

  char *s = (char *)malloc(sizeof(char)*10); //配置記憶體空間  
   
  scanf("%s",s); //ex : input hello
  printf("%s\n",s); // show hello
   
  test(s); //function call
     
  printf("%s\n",s); // show world
 
  system("PAUSE");
  return 0;

}

所以你要改變字元指標所配址出來的靜態記憶體字串是不可行
只能是陣列來改變它
或是配置動態記體空間

C   malloc(); 配置 free()釋放
C++ new 配置 delete 釋放


[ 此文章被pointer在2005-11-11 07:26重新編輯 ]


獻花 x2 回到頂端 [4 樓] From:台灣數位聯合 | Posted:2005-11-11 06:39 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.066667 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言