1樓:匿名使用者
這個問題是因為你在賦值時,資料型別不一致,造成資料在自動轉換的過程中,形成資料擴充套件問題或是資料擷取問題,其次,你在資料輸出時資料型別又不一致,也存在以上問題。這樣就會得到你想不到的結果,當然如果你瞭解資料型別的轉換的話,你就能理解這個結果了
2樓:匿名使用者
1.new str這種語法是用於初始化集合的,及實現了ienumerable或者ienumerable的型別。大括號裡的元素會成為集合的項。如初始化一個list:
listlist = new list;
2.如果你想初始化一個型別(結構體其實也是一個類,可以看il**),首先你的結構體成員必須是公有的,否則在外面是不能訪問這些成員的。所以你可以把結構體改為:
public struct str
然後再如下初始化:
str sss = new str
;這種形式只有在3.0以上的版本才可以使用哈。
當然這種初始化方式其實是編譯器為我們提供的簡便方式。最終編譯後的**還是傳統的new一個變數,再為各個屬性賦值的形式。9月
3樓:匿名使用者
'long' followed by 'long' is illegal
long long寫在一起就是錯的,沒有這種資料型別
結構體指標兩種賦值方式怎麼會出錯
4樓:
pid *sptr = &volpid;
定義 pid 型別的指標並初始化為 volpid 變數的地址,注意,這裡不是「賦值」,而是「初始化」。
pid *sptr; *sptr = &volpid;
給 sptr 指向的變數賦值。
錯誤1:型別不同,*sptr 是指向了變數,就是變數本身,而 &volpid 是變數的地址,一個是變數,一個是變數的地址。
錯誤2:sptr 沒有初始化,給其指向的變數賦值,可能造成崩潰。
錯誤3:即使 sptr 已初始化,也不能為其指向的變數賦值,因為該變數型別是 struct,按 c 語言的型別劃分,屬於「聚集型別(aggregation)」,聚集型別不能整體賦值。
改成這樣才正確:
pid *sptr; sptr = &volpid;
定義 sptr 指標,然後賦值為 volpid 變數的地址。
c語言結構體賦值錯誤,跪求解答 10
5樓:匿名使用者
job[i].jobability=(char *)malloc(50);
scanf("%s",job[i].jobability);
6樓:匿名使用者
結構體是怎麼定義的?
c語言裡,結構體之間賦值出現問題
7樓:匿名使用者
#include
ranghtol(struct student a[30],int number);//ranghtol是什麼?,除了你別人都不知道,c系統也不知道。
typedef struct student student;
ranghtol(struct student a[30],int number) } }}
c語言中結構體,可以在定義結構體型別的時候,給某些成員賦值不
8樓:兜裡有兩塊糖
在c語言的語法中,這樣不行
如果你需要初始化
可以這樣寫
struct stu student = ;
這個給結構體賦值為什麼錯誤?
9樓:陽光亮男
num是int型的整數
mythread.num="1";,這裡你用雙引號擴起來表示字串了
10樓:
"1"和"liping"都是字串
num期待的值只能是整數或單個字元如:1或『1』
name是隻能儲存單個字元如:『a'或'b'
11樓:匿名使用者
mythread後面那個不能用了吧
你應該是沒有理解typedef這個偽指令的意義吧
看看這裡
12樓:
"1" -> '1' or 「1"->1
"liping"是串,不是字元
char name -> char *nametypedef去掉
13樓:xiao2不語
char 為單個字元,你可以寫成string name
求助,結構體函式賦值出錯!
14樓:金色潛鳥
找出就好。
你是做交換:
t = ps[j];
ps[j] = ps[j+1];
ps[j+1] = t;
15樓:匿名使用者
ps = ps[j+1];應該是ps[j] = ps[j+1];這個吧
結構體中的指標同時賦值null出錯
16樓:
int* p1=null;
是定義一個指標變數,指向null。
path* path;
path->begin=null;
相當於 :
int* p1;
*p1 = 33333;
定義了一個指標,但是沒有指向有效的記憶體(野指標),對指標進行寫操作當然會出錯。應該這樣:
path path;
path *p = &path;
p->begin=null;
p->end=null;
結構體指標的問題,結構體指標和結構體中的指標的區別
楚劒蘭心 是呼叫操作符,是對指標的解引用然後再呼叫,只有指標呼叫別的變數或函式時使用,並且只要是用指標來呼叫的話,就必用它。比如 struct s int value s p 定義一個結構體指標 p value 呼叫結構體內的變數。也就是 p value 二者等價。 公珍碧魯哲 struct l 粗...
關於結構體指標問題,還有函式指標作為結構體成員的問題
雪豹出擊 int changevar int 你少些了個e這是一個函式指標,這個changevar指標指向一個這樣的函式 這個函式有一個int型引數,返回值也是int.所以if fb info.changevar 的意思就是判斷結構體fb info中的changevar是否為空,等同於if fb i...
c語言結構指標和結構體成員指標問題
佼霏聞新竹 既是取地址符號,一個指標p指向q就需要寫作p q,在函式引數裡是 引用 就是別名,類似指標了,這種情況下對變數的修改會影響到函式外的原變數。那個printf a p n a 等於求出地址 x然後作為指標看待 p 所以也是yyyy了 樓主可以做個試驗,看看輸出結果地址間的關係,你就應該可以...