❶ c語言結構體指針變數初始化
void
RegList(LB
*L)
//初始化線性表(建立頭結點,指針域置為空)
{
L=(LB
*)malloc(sizeof(LB));
L->next=NULL;
}
改成指針的指針
調用的時候RegList(&k);就行了。
void
RegList(LB
**L)
{
*L
=
(LB*)malloc(sizeof(LB));
(*L)->next
=
NULL;
}
❷ c語言變數初始化的方式
變數的初始化就是在定義變數的時候,直接對變數進行賦值操作。
初始化的方式一般有如下兩種:
1、直接對變數進行賦予常量數值進行初始化;
2、通過同類型變數進行初始化。
舉例說明如下:
// 以下屬於第1種初始化方式
int a1=5; // 整型變數的初始化
int b1[]={1,2,3,4}; // 整型數組的初始化
char str1[]="abcd"; // 字元數組的初始化
// 以下屬於第2種初始化方式
int a2 = a1; // 整型變數的初始化
int b2[4] = b1; // 整型數組的初始化
char str2[4] = str1;// 字元數組的初始化
char *p = str1; // 字元指針的初始化
❸ C語言中的變數初始化問題
可能是因為其它文件有些地方的調用把全局變數存儲區的內存改變了。
你可以直接列印orange試試呢。
打個斷點也好調嘛。
❹ C語言怎樣初始化變數
局部變數和全局變數
在任何時候都可以初始化的
只是它們生存的周期不一樣而已
你可以在定義的時候初始化
一般也最好這樣
你也可以在定義它之後初始化
只要是在你使用它們之前進行的任何時候初始化就是沒問題的
❺ c語言二級指針初始化為空後賦值問題
指針指向變數後才能操作,如:
int
*pt,a;
pt=&a;
*pt=5;
第二個
char
*i;
i="hello";
這樣是正確的.
❻ c 語言中的數組指針可以被初始化為空指針嗎
任何指針都可以初始化為空(NULL),如果指針是變數的話,還可以賦值為空。
比如:
int*
p0
=
NULL;
//
整型指針初始化為空
p0
=
NULL;
//
賦值為空
-------------------
void
(*p1)
(int)
=
NULL;
//
函數指針初始化為空
p1
=
NULL;
//
賦值為空
-----------------------
int
a[20];
//
數組
int
(*p2)[20]
=
&a;
//
數組指針初始化為數組地址
int
(*p3)[20]
=
NULL;
//
數組指針初始化為空
p2
=
NULL;
//
賦值為空
p3
=
NULL;
//
賦值為空
❼ C語言中變數的初始化怎麼理解
C語言的變數初始化,就是在定義變數的時候,賦予一個初始值。
形式為
type var_name = init_value;
其中init_value就是初始化值了。
類似於
type var_name;
var_name = init_value;
不過,基於編譯器的實現,一般初始化值的方式要比先定義後賦值更高效。另外,有些初始化是必須的。比如常量的定義,必須在定義的時候賦予初始化值。
❽ c語言 如何將已賦值的字元串初始化為空
可以使用memset函數將字元串數組中所有元素全部設置為 即可。
函數原型:void *memset(void *s, int ch,size_tn);
函數說明:將s中前n個位元組 (typedef unsigned int size_t )用 ch 替換並返回 s 。
示例:
#include<stdio.h>
#include<string.h>
intmain()
{
charbuf[256]="helloworld";//buf字元數組初始化
printf("%d ",strlen(buf));
memset(buf,0x00,sizeof(char)*256);//全部設置為0x00即 字元
printf("%d ",strlen(buf));
return0;
}