Cad é an difríocht idir pointeoir crochta agus pointeoir null i C? Ag labhairt go teicniúil, is cosúil go bhfuil an dá rud mar an gcéanna.


freagra 1:

Níl aon difríocht ann mura ndéanann tú ceann de na leideanna seo a iarchur. Dá bhrí sin, ciallaíonn Schlenker gur féidir an chuimhne a luaigh an pointeoir a athúsáid le haghaidh rud éigin eile. Glacann an clár leis, áfach, go bhfuil an sean-ábhar fós ann agus déanann sé iarracht rochtain a fháil air. De ghnáth bíonn iompar mícheart mar thoradh air seo le linn an clár a chur i gcrích.

Ina theannta sin, creidim go dtugann an cheist féin le fios go láidir nach dtuigeann tú “leideanna”. Má smaoiníonn tú ar chuimhne mar shraith réimsí uimhrithe inar féidir ábhar a bheith i ngach réimse (luach, 0 ... 255 de ghnáth), níl sa phointeoir ach slánuimhir (táim ag simpliú na ngnéithe ailtireachta anseo) go bhfuil an Tá ceann de na boscaí seo (ní an luach).


freagra 2:

Feicim go leor “Béarla” anseo, a d’fhéadfadh a bheith úsáideach do dhuine a bhfuil an coincheap ar eolas aige cheana, ach do dhuine nach bhfuil, ní bheidh ann ach liricí gibéireacha. Mar sin féin, titeann an comhrann greannmhar sna freagraí agus sna meafair. Tá brón orainn má chiontaíonn sé duine éigin.

Pointeoir Null: Pointeoir ina bhfuil an seoladh chuig rud ar bith nó a deir NULL. Is botún é an scríbhneoireacht ag an bpointe seo. Déantar é seo chun ríomhchláraitheoirí a chosc ó scríobh trí thimpiste chuig láthair, rud a d’fhéadfadh earráidí deighilte agus / nó tuairteanna a bheith mar thoradh air. Ba chóir pointeoir a thionscnamh i gcónaí le NULL agus é a sheiceáil le haghaidh NULL sula scríobhtar é. Smaoinigh ar an gcás seo:

int * p; // I láthair na huaire tá seoladh randamach sa phointeoir seo agus is féidir leis tagairt a dhéanamh d’aon suíomh, fiú amháin lasmuigh den deighleog

* p = 10; // Is cinnte go dtabharfaidh sé sin earráid.

bheadh ​​rud sábháilte:

int * p = NULL;

más rud é (p! = NULL)

* p = 10;

Pointeoir contúirteach: Mar a thugann an t-ainm le tuiscint, is pointeoir é nach bhfuil aon smaoineamh aige áit a chur in iúl toisc go scaoiltear ar bhealach éigin an bloc cuimhne a raibh sé ag tagairt dó ar dtús.

Tá go leor bealaí ann chun pointeoir a dhíbirt. Is é an bealach is coitianta ná cinn nua a chruthú, a chóipeáil agus a scriosadh

int * p = NULL; int * q = NULL;

p = nua x;

q = p;

q scriosadh; Baintear pointeoir bloc cuimhne // q agus q den chuimhne

// as seo tá pointeoir p againn le seoladh nach bhfuil ann sa chuimhne. Má dhéanaimid iarracht luach a shannadh don phointeoir seo, táimid i dtrioblóid, p tá an pointeoir crochta anseo

* p = 10; // tuairteála

Bealach eile is dócha gur féidir leat pointeoir crochta a chruthú trí thimpiste is ea cóip chothrom den réad a dhéanamh, trína sannadh nó trí réad a chur ar mhodh, trí chóip thógálaí a sholáthraíonn tiomsaitheoir a úsáid, ar ceann é atá cothrom. Cóip déanta duit.


freagra 3:

Feicim go leor “Béarla” anseo, a d’fhéadfadh a bheith úsáideach do dhuine a bhfuil an coincheap ar eolas aige cheana, ach do dhuine nach bhfuil, ní bheidh ann ach liricí gibéireacha. Mar sin féin, titeann an comhrann greannmhar sna freagraí agus sna meafair. Tá brón orainn má chiontaíonn sé duine éigin.

Pointeoir Null: Pointeoir ina bhfuil an seoladh chuig rud ar bith nó a deir NULL. Is botún é an scríbhneoireacht ag an bpointe seo. Déantar é seo chun ríomhchláraitheoirí a chosc ó scríobh trí thimpiste chuig láthair, rud a d’fhéadfadh earráidí deighilte agus / nó tuairteanna a bheith mar thoradh air. Ba chóir pointeoir a thionscnamh i gcónaí le NULL agus é a sheiceáil le haghaidh NULL sula scríobhtar é. Smaoinigh ar an gcás seo:

int * p; // I láthair na huaire tá seoladh randamach sa phointeoir seo agus is féidir leis tagairt a dhéanamh d’aon suíomh, fiú amháin lasmuigh den deighleog

* p = 10; // Is cinnte go dtabharfaidh sé sin earráid.

bheadh ​​rud sábháilte:

int * p = NULL;

más rud é (p! = NULL)

* p = 10;

Pointeoir contúirteach: Mar a thugann an t-ainm le tuiscint, is pointeoir é nach bhfuil aon smaoineamh aige áit a chur in iúl toisc go scaoiltear ar bhealach éigin an bloc cuimhne a raibh sé ag tagairt dó ar dtús.

Tá go leor bealaí ann chun pointeoir a dhíbirt. Is é an bealach is coitianta ná cinn nua a chruthú, a chóipeáil agus a scriosadh

int * p = NULL; int * q = NULL;

p = nua x;

q = p;

q scriosadh; Baintear pointeoir bloc cuimhne // q agus q den chuimhne

// as seo tá pointeoir p againn le seoladh nach bhfuil ann sa chuimhne. Má dhéanaimid iarracht luach a shannadh don phointeoir seo, táimid i dtrioblóid, p tá an pointeoir crochta anseo

* p = 10; // tuairteála

Bealach eile is dócha gur féidir leat pointeoir crochta a chruthú trí thimpiste is ea cóip chothrom den réad a dhéanamh, trína sannadh nó trí réad a chur ar mhodh, trí chóip thógálaí a sholáthraíonn tiomsaitheoir a úsáid, ar ceann é atá cothrom. Cóip déanta duit.


freagra 4:

Feicim go leor “Béarla” anseo, a d’fhéadfadh a bheith úsáideach do dhuine a bhfuil an coincheap ar eolas aige cheana, ach do dhuine nach bhfuil, ní bheidh ann ach liricí gibéireacha. Mar sin féin, titeann an comhrann greannmhar sna freagraí agus sna meafair. Tá brón orainn má chiontaíonn sé duine éigin.

Pointeoir Null: Pointeoir ina bhfuil an seoladh chuig rud ar bith nó a deir NULL. Is botún é an scríbhneoireacht ag an bpointe seo. Déantar é seo chun ríomhchláraitheoirí a chosc ó scríobh trí thimpiste chuig láthair, rud a d’fhéadfadh earráidí deighilte agus / nó tuairteanna a bheith mar thoradh air. Ba chóir pointeoir a thionscnamh i gcónaí le NULL agus é a sheiceáil le haghaidh NULL sula scríobhtar é. Smaoinigh ar an gcás seo:

int * p; // I láthair na huaire tá seoladh randamach sa phointeoir seo agus is féidir leis tagairt a dhéanamh d’aon suíomh, fiú amháin lasmuigh den deighleog

* p = 10; // Is cinnte go dtabharfaidh sé sin earráid.

bheadh ​​rud sábháilte:

int * p = NULL;

más rud é (p! = NULL)

* p = 10;

Pointeoir contúirteach: Mar a thugann an t-ainm le tuiscint, is pointeoir é nach bhfuil aon smaoineamh aige áit a chur in iúl toisc go scaoiltear ar bhealach éigin an bloc cuimhne a raibh sé ag tagairt dó ar dtús.

Tá go leor bealaí ann chun pointeoir a dhíbirt. Is é an bealach is coitianta ná cinn nua a chruthú, a chóipeáil agus a scriosadh

int * p = NULL; int * q = NULL;

p = nua x;

q = p;

q scriosadh; Baintear pointeoir bloc cuimhne // q agus q den chuimhne

// as seo tá pointeoir p againn le seoladh nach bhfuil ann sa chuimhne. Má dhéanaimid iarracht luach a shannadh don phointeoir seo, táimid i dtrioblóid, p tá an pointeoir crochta anseo

* p = 10; // tuairteála

Bealach eile is dócha gur féidir leat pointeoir crochta a chruthú trí thimpiste is ea cóip chothrom den réad a dhéanamh, trína sannadh nó trí réad a chur ar mhodh, trí chóip thógálaí a sholáthraíonn tiomsaitheoir a úsáid, ar ceann é atá cothrom. Cóip déanta duit.


freagra 5:

Feicim go leor “Béarla” anseo, a d’fhéadfadh a bheith úsáideach do dhuine a bhfuil an coincheap ar eolas aige cheana, ach do dhuine nach bhfuil, ní bheidh ann ach liricí gibéireacha. Mar sin féin, titeann an comhrann greannmhar sna freagraí agus sna meafair. Tá brón orainn má chiontaíonn sé duine éigin.

Pointeoir Null: Pointeoir ina bhfuil an seoladh chuig rud ar bith nó a deir NULL. Is botún é an scríbhneoireacht ag an bpointe seo. Déantar é seo chun ríomhchláraitheoirí a chosc ó scríobh trí thimpiste chuig láthair, rud a d’fhéadfadh earráidí deighilte agus / nó tuairteanna a bheith mar thoradh air. Ba chóir pointeoir a thionscnamh i gcónaí le NULL agus é a sheiceáil le haghaidh NULL sula scríobhtar é. Smaoinigh ar an gcás seo:

int * p; // I láthair na huaire tá seoladh randamach sa phointeoir seo agus is féidir leis tagairt a dhéanamh d’aon suíomh, fiú amháin lasmuigh den deighleog

* p = 10; // Is cinnte go dtabharfaidh sé sin earráid.

bheadh ​​rud sábháilte:

int * p = NULL;

más rud é (p! = NULL)

* p = 10;

Pointeoir contúirteach: Mar a thugann an t-ainm le tuiscint, is pointeoir é nach bhfuil aon smaoineamh aige áit a chur in iúl toisc go scaoiltear ar bhealach éigin an bloc cuimhne a raibh sé ag tagairt dó ar dtús.

Tá go leor bealaí ann chun pointeoir a dhíbirt. Is é an bealach is coitianta ná cinn nua a chruthú, a chóipeáil agus a scriosadh

int * p = NULL; int * q = NULL;

p = nua x;

q = p;

q scriosadh; Baintear pointeoir bloc cuimhne // q agus q den chuimhne

// as seo tá pointeoir p againn le seoladh nach bhfuil ann sa chuimhne. Má dhéanaimid iarracht luach a shannadh don phointeoir seo, táimid i dtrioblóid, p tá an pointeoir crochta anseo

* p = 10; // tuairteála

Bealach eile is dócha gur féidir leat pointeoir crochta a chruthú trí thimpiste is ea cóip chothrom den réad a dhéanamh, trína sannadh nó trí réad a chur ar mhodh, trí chóip thógálaí a sholáthraíonn tiomsaitheoir a úsáid, ar ceann é atá cothrom. Cóip déanta duit.


freagra 6:

Feicim go leor “Béarla” anseo, a d’fhéadfadh a bheith úsáideach do dhuine a bhfuil an coincheap ar eolas aige cheana, ach do dhuine nach bhfuil, ní bheidh ann ach liricí gibéireacha. Mar sin féin, titeann an comhrann greannmhar sna freagraí agus sna meafair. Tá brón orainn má chiontaíonn sé duine éigin.

Pointeoir Null: Pointeoir ina bhfuil an seoladh chuig rud ar bith nó a deir NULL. Is botún é an scríbhneoireacht ag an bpointe seo. Déantar é seo chun ríomhchláraitheoirí a chosc ó scríobh trí thimpiste chuig láthair, rud a d’fhéadfadh earráidí deighilte agus / nó tuairteanna a bheith mar thoradh air. Ba chóir pointeoir a thionscnamh i gcónaí le NULL agus é a sheiceáil le haghaidh NULL sula scríobhtar é. Smaoinigh ar an gcás seo:

int * p; // I láthair na huaire tá seoladh randamach sa phointeoir seo agus is féidir leis tagairt a dhéanamh d’aon suíomh, fiú amháin lasmuigh den deighleog

* p = 10; // Is cinnte go dtabharfaidh sé sin earráid.

bheadh ​​rud sábháilte:

int * p = NULL;

más rud é (p! = NULL)

* p = 10;

Pointeoir contúirteach: Mar a thugann an t-ainm le tuiscint, is pointeoir é nach bhfuil aon smaoineamh aige áit a chur in iúl toisc go scaoiltear ar bhealach éigin an bloc cuimhne a raibh sé ag tagairt dó ar dtús.

Tá go leor bealaí ann chun pointeoir a dhíbirt. Is é an bealach is coitianta ná cinn nua a chruthú, a chóipeáil agus a scriosadh

int * p = NULL; int * q = NULL;

p = nua x;

q = p;

q scriosadh; Baintear pointeoir bloc cuimhne // q agus q den chuimhne

// as seo tá pointeoir p againn le seoladh nach bhfuil ann sa chuimhne. Má dhéanaimid iarracht luach a shannadh don phointeoir seo, táimid i dtrioblóid, p tá an pointeoir crochta anseo

* p = 10; // tuairteála

Bealach eile is dócha gur féidir leat pointeoir crochta a chruthú trí thimpiste is ea cóip chothrom den réad a dhéanamh, trína sannadh nó trí réad a chur ar mhodh, trí chóip thógálaí a sholáthraíonn tiomsaitheoir a úsáid, ar ceann é atá cothrom. Cóip déanta duit.


freagra 7:

Feicim go leor “Béarla” anseo, a d’fhéadfadh a bheith úsáideach do dhuine a bhfuil an coincheap ar eolas aige cheana, ach do dhuine nach bhfuil, ní bheidh ann ach liricí gibéireacha. Mar sin féin, titeann an comhrann greannmhar sna freagraí agus sna meafair. Tá brón orainn má chiontaíonn sé duine éigin.

Pointeoir Null: Pointeoir ina bhfuil an seoladh chuig rud ar bith nó a deir NULL. Is botún é an scríbhneoireacht ag an bpointe seo. Déantar é seo chun ríomhchláraitheoirí a chosc ó scríobh trí thimpiste chuig láthair, rud a d’fhéadfadh earráidí deighilte agus / nó tuairteanna a bheith mar thoradh air. Ba chóir pointeoir a thionscnamh i gcónaí le NULL agus é a sheiceáil le haghaidh NULL sula scríobhtar é. Smaoinigh ar an gcás seo:

int * p; // I láthair na huaire tá seoladh randamach sa phointeoir seo agus is féidir leis tagairt a dhéanamh d’aon suíomh, fiú amháin lasmuigh den deighleog

* p = 10; // Is cinnte go dtabharfaidh sé sin earráid.

bheadh ​​rud sábháilte:

int * p = NULL;

más rud é (p! = NULL)

* p = 10;

Pointeoir contúirteach: Mar a thugann an t-ainm le tuiscint, is pointeoir é nach bhfuil aon smaoineamh aige áit a chur in iúl toisc go scaoiltear ar bhealach éigin an bloc cuimhne a raibh sé ag tagairt dó ar dtús.

Tá go leor bealaí ann chun pointeoir a dhíbirt. Is é an bealach is coitianta ná cinn nua a chruthú, a chóipeáil agus a scriosadh

int * p = NULL; int * q = NULL;

p = nua x;

q = p;

q scriosadh; Baintear pointeoir bloc cuimhne // q agus q den chuimhne

// as seo tá pointeoir p againn le seoladh nach bhfuil ann sa chuimhne. Má dhéanaimid iarracht luach a shannadh don phointeoir seo, táimid i dtrioblóid, p tá an pointeoir crochta anseo

* p = 10; // tuairteála

Bealach eile is dócha gur féidir leat pointeoir crochta a chruthú trí thimpiste is ea cóip chothrom den réad a dhéanamh, trína sannadh nó trí réad a chur ar mhodh, trí chóip thógálaí a sholáthraíonn tiomsaitheoir a úsáid, ar ceann é atá cothrom. Cóip déanta duit.


freagra 8:

Feicim go leor “Béarla” anseo, a d’fhéadfadh a bheith úsáideach do dhuine a bhfuil an coincheap ar eolas aige cheana, ach do dhuine nach bhfuil, ní bheidh ann ach liricí gibéireacha. Mar sin féin, titeann an comhrann greannmhar sna freagraí agus sna meafair. Tá brón orainn má chiontaíonn sé duine éigin.

Pointeoir Null: Pointeoir ina bhfuil an seoladh chuig rud ar bith nó a deir NULL. Is botún é an scríbhneoireacht ag an bpointe seo. Déantar é seo chun ríomhchláraitheoirí a chosc ó scríobh trí thimpiste chuig láthair, rud a d’fhéadfadh earráidí deighilte agus / nó tuairteanna a bheith mar thoradh air. Ba chóir pointeoir a thionscnamh i gcónaí le NULL agus é a sheiceáil le haghaidh NULL sula scríobhtar é. Smaoinigh ar an gcás seo:

int * p; // I láthair na huaire tá seoladh randamach sa phointeoir seo agus is féidir leis tagairt a dhéanamh d’aon suíomh, fiú amháin lasmuigh den deighleog

* p = 10; // Is cinnte go dtabharfaidh sé sin earráid.

bheadh ​​rud sábháilte:

int * p = NULL;

más rud é (p! = NULL)

* p = 10;

Pointeoir contúirteach: Mar a thugann an t-ainm le tuiscint, is pointeoir é nach bhfuil aon smaoineamh aige áit a chur in iúl toisc go scaoiltear ar bhealach éigin an bloc cuimhne a raibh sé ag tagairt dó ar dtús.

Tá go leor bealaí ann chun pointeoir a dhíbirt. Is é an bealach is coitianta ná cinn nua a chruthú, a chóipeáil agus a scriosadh

int * p = NULL; int * q = NULL;

p = nua x;

q = p;

q scriosadh; Baintear pointeoir bloc cuimhne // q agus q den chuimhne

// as seo tá pointeoir p againn le seoladh nach bhfuil ann sa chuimhne. Má dhéanaimid iarracht luach a shannadh don phointeoir seo, táimid i dtrioblóid, p tá an pointeoir crochta anseo

* p = 10; // tuairteála

Bealach eile is dócha gur féidir leat pointeoir crochta a chruthú trí thimpiste is ea cóip chothrom den réad a dhéanamh, trína sannadh nó trí réad a chur ar mhodh, trí chóip thógálaí a sholáthraíonn tiomsaitheoir a úsáid, ar ceann é atá cothrom. Cóip déanta duit.


freagra 9:

Feicim go leor “Béarla” anseo, a d’fhéadfadh a bheith úsáideach do dhuine a bhfuil an coincheap ar eolas aige cheana, ach do dhuine nach bhfuil, ní bheidh ann ach liricí gibéireacha. Mar sin féin, titeann an comhrann greannmhar sna freagraí agus sna meafair. Tá brón orainn má chiontaíonn sé duine éigin.

Pointeoir Null: Pointeoir ina bhfuil an seoladh chuig rud ar bith nó a deir NULL. Is botún é an scríbhneoireacht ag an bpointe seo. Déantar é seo chun ríomhchláraitheoirí a chosc ó scríobh trí thimpiste chuig láthair, rud a d’fhéadfadh earráidí deighilte agus / nó tuairteanna a bheith mar thoradh air. Ba chóir pointeoir a thionscnamh i gcónaí le NULL agus é a sheiceáil le haghaidh NULL sula scríobhtar é. Smaoinigh ar an gcás seo:

int * p; // I láthair na huaire tá seoladh randamach sa phointeoir seo agus is féidir leis tagairt a dhéanamh d’aon suíomh, fiú amháin lasmuigh den deighleog

* p = 10; // Is cinnte go dtabharfaidh sé sin earráid.

bheadh ​​rud sábháilte:

int * p = NULL;

más rud é (p! = NULL)

* p = 10;

Pointeoir contúirteach: Mar a thugann an t-ainm le tuiscint, is pointeoir é nach bhfuil aon smaoineamh aige áit a chur in iúl toisc go scaoiltear ar bhealach éigin an bloc cuimhne a raibh sé ag tagairt dó ar dtús.

Tá go leor bealaí ann chun pointeoir a dhíbirt. Is é an bealach is coitianta ná cinn nua a chruthú, a chóipeáil agus a scriosadh

int * p = NULL; int * q = NULL;

p = nua x;

q = p;

q scriosadh; Baintear pointeoir bloc cuimhne // q agus q den chuimhne

// as seo tá pointeoir p againn le seoladh nach bhfuil ann sa chuimhne. Má dhéanaimid iarracht luach a shannadh don phointeoir seo, táimid i dtrioblóid, p tá an pointeoir crochta anseo

* p = 10; // tuairteála

Bealach eile is dócha gur féidir leat pointeoir crochta a chruthú trí thimpiste is ea cóip chothrom den réad a dhéanamh, trína sannadh nó trí réad a chur ar mhodh, trí chóip thógálaí a sholáthraíonn tiomsaitheoir a úsáid, ar ceann é atá cothrom. Cóip déanta duit.


freagra 10:

Feicim go leor “Béarla” anseo, a d’fhéadfadh a bheith úsáideach do dhuine a bhfuil an coincheap ar eolas aige cheana, ach do dhuine nach bhfuil, ní bheidh ann ach liricí gibéireacha. Mar sin féin, titeann an comhrann greannmhar sna freagraí agus sna meafair. Tá brón orainn má chiontaíonn sé duine éigin.

Pointeoir Null: Pointeoir ina bhfuil an seoladh chuig rud ar bith nó a deir NULL. Is botún é an scríbhneoireacht ag an bpointe seo. Déantar é seo chun ríomhchláraitheoirí a chosc ó scríobh trí thimpiste chuig láthair, rud a d’fhéadfadh earráidí deighilte agus / nó tuairteanna a bheith mar thoradh air. Ba chóir pointeoir a thionscnamh i gcónaí le NULL agus é a sheiceáil le haghaidh NULL sula scríobhtar é. Smaoinigh ar an gcás seo:

int * p; // I láthair na huaire tá seoladh randamach sa phointeoir seo agus is féidir leis tagairt a dhéanamh d’aon suíomh, fiú amháin lasmuigh den deighleog

* p = 10; // Is cinnte go dtabharfaidh sé sin earráid.

bheadh ​​rud sábháilte:

int * p = NULL;

más rud é (p! = NULL)

* p = 10;

Pointeoir contúirteach: Mar a thugann an t-ainm le tuiscint, is pointeoir é nach bhfuil aon smaoineamh aige áit a chur in iúl toisc go scaoiltear ar bhealach éigin an bloc cuimhne a raibh sé ag tagairt dó ar dtús.

Tá go leor bealaí ann chun pointeoir a dhíbirt. Is é an bealach is coitianta ná cinn nua a chruthú, a chóipeáil agus a scriosadh

int * p = NULL; int * q = NULL;

p = nua x;

q = p;

q scriosadh; Baintear pointeoir bloc cuimhne // q agus q den chuimhne

// as seo tá pointeoir p againn le seoladh nach bhfuil ann sa chuimhne. Má dhéanaimid iarracht luach a shannadh don phointeoir seo, táimid i dtrioblóid, p tá an pointeoir crochta anseo

* p = 10; // tuairteála

Bealach eile is dócha gur féidir leat pointeoir crochta a chruthú trí thimpiste is ea cóip chothrom den réad a dhéanamh, trína sannadh nó trí réad a chur ar mhodh, trí chóip thógálaí a sholáthraíonn tiomsaitheoir a úsáid, ar ceann é atá cothrom. Cóip déanta duit.